[Solved] Exporting QWidgets to QML?

  • I've got an application which uses QWidgets.
    Some special functionality is already implemented, for example I created an eventFilter that the enter key also changes the focus. I would also like to continue to use the validators, the setPlaceHolderText, setInputMask, etc. of the QLineEdit and some other built-in functionality of the QWidgets. Also, I could not find something similar to the QCombobox in QML.

    Now I would like to add animations to my application. Is it possible to "export" the QWidgets to QML? Or how can I reuse my existing code when I would like to switch to QML?

    I'm very new to QML, therefore I'm sorry if the answer is obvious. I would be really happy if you could recommend me some tutorials regarding this topic. Thank you!

  • Hello,

    see "this article":http://doc.qt.nokia.com/4.7-snapshot/declarative-cppextensions-qwidgets.html

    Also, you can use "Qt Components":http://doc.qt.nokia.com/qt-components-symbian-1.0/qt-components.html. They are available for Symbian, MeeGo and desktop.

  • I would recommend against the first approach. Yes, it is possible, but no, it is not a good idea. QGraphicsProxyWidget should IMO be avoided. It does not work properly, and is basically depricated due to it being a design flaw to begin with.

    Go for the components if you can.

  • Thank you, I already heard that QGraphicsProxyWidget should be avoided at the Qt Dev Days. Is there an alternative for it if I want to create my own components?

    I saw that the native Qt Quick elements are derived from QDeclarativeItem. Maybe this helps when creating my own QML elements, but e.g. the QComboBox seems to be quite a lot of effort.

  • Why don't you look into how the Quick Desktop Compontents project creates combo boxes?
    See "here":http://qt.gitorious.org/qt-components/desktop for the sources and "here":http://www.youtube.com/watch?v=nj5jzv6njKg for the video.

  • The Quick Desktop Components are amazing!
    Are the Qt Components also available for Desktop? I saw that the Page and PageStack qmls are in Symbian / Meego folders.

    Do you know if it is planned to include these components in the new QML version?

  • They are not available yet in the sense of "officially released", however the sources are there for you to use if you want. It is likely that a set of components like these will appear in a future version of Qt, but don't count on it being there before Qt 5.1.

  • That sounds good!

    But it would still be nice if I could reuse all my QWidget dialogs and if I would not have to rebuild them.

  • [quote author="saho" date="1320329834"]But it would still be nice if I could reuse all my QWidget dialogs and if I would not have to rebuild them.[/quote]
    Don't count on that. However, if you now have a good separation between your program logic and your UI, it should be easy to re-use at least the logic part of your application.

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.