Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. [SOLVED]Widget vs Qt Quick
Forum Updated to NodeBB v4.3 + New Features

[SOLVED]Widget vs Qt Quick

Scheduled Pinned Locked Moved Mobile and Embedded
12 Posts 3 Posters 16.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mbnoimi
    wrote on last edited by
    #1

    I'm using Qt for developing desktop and mobile applications. Recently I successfully compiled my desktop Widget based application on Android without modifying any line of the source code (although I faced "issue with full screen":https://qt-project.org/forums/viewthread/32025/) but some guys here pointed not directly that Qt Quick is more stable as mobile application so:

    I wonder which one is better for developing desktop and mobile applications?

    P.S. I never used Qt Quick before and Widget GUI fits my needs but I'm afraid that in the future Digia may kill it in favor of Qt Quick (They didn't introduce any new feature for Qt Designer while they "introduced ton of features for commercial Qt Creator for QML":https://blog.qt.digia.com/blog/2013/07/09/qt-creator-for-qt-enterprise-users/)

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #2

      Widgets don't get much attention nowadays, but the will not be killed. They are a maintained module and most of Qt code out there depends on them.

      That said, Qt Quick is really cool :) It probably is better on both mobile and desktop, but that depends on your use case.

      (Z(:^

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mbnoimi
        wrote on last edited by
        #3

        bq. Widgets don’t get much attention nowadays... It probably is better on both mobile and desktop

        Do you suggest to leave Widgets forever? I'm afraid to be come a cave man with Widgets if Qt project continue giving more attention to Qt Quick.

        bq. but that depends on your use case.

        I said to you; I'm using Qt for developing desktop and mobile applications and I don't want to make very changes in the code when I run any app. under mobile or desktop.

        BTW, I'm very worry from Qt Quick because Digia introduced very important "features for commercial users":https://blog.qt.digia.com/blog/2013/07/09/qt-creator-for-qt-enterprise-users/ (connections editor is vital for me because I'm using "Go to Slot..." feature in Qt Designer while there are not alternative in Qt Quick editor) in same manner of Visual Studio Enterprise and Visual C++ Express which means open source developers have to write many lines to do something while commercial users can do it by beautiful fancy editors!

        Another thing, I'm not sure from Qt Quick performance from speed side for example I made a tiny test to load a data of 1 million record from database I noticed that Qt Quick is very slow while Widgets worked fine (I'm sure this is not fair test but it may shows some weak points)

        1 Reply Last reply
        0
        • sierdzioS Offline
          sierdzioS Offline
          sierdzio
          Moderators
          wrote on last edited by
          #4

          [quote author="mbnoimi" date="1378213738"]
          Do you suggest to leave Widgets forever? I'm afraid to be come a cave man with Widgets if Qt project continue giving more attention to Qt Quick.[/quote]

          No! When I said they get less attention, I've meant just that. QtWidgets is still a maintained module (maintainer is from KDAB, IIRC). It's mature enough that it does not really need all developer's focus.

          [quote author="mbnoimi" date="1378213738"]
          Another thing, I'm not sure from Qt Quick performance from speed side for example I made a tiny test to load a data of 1 million record from database I noticed that Qt Quick is very slow while Widgets worked fine (I'm sure this is not fair test but it may shows some weak points)[/quote]

          I find it hard to compare QtQuick and QtWidgets. There are cases where widgets are better, and there are others where Quick is unmatched.

          As for the performance, I'd rather say it's pretty decent. In real-world applications it's usually acceptable. And for Qt 5.2/ 5.3 a lot of improvements are planned: v4vm engine for running JS expressions, and a new Scenegraph renderer. Both provide significant performance gains (in some cases the code executes several hundred times faster than before).

          (Z(:^

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mbnoimi
            wrote on last edited by
            #5

            [quote]As for the performance, I’d rather say it’s pretty decent. In real-world applications it’s usually acceptable. And for Qt 5.2/ 5.3 a lot of improvements are planned[/quote]
            You mean the new improvements may essentially change the performance of QtQuick? if yes; personally do you encourage me to migrate to QtQuick or not?

            But I'm still worry about RAD tools of QtQuick because until now all effective tools are commercial while QtWidget has at least Qt Designer

            1 Reply Last reply
            0
            • sierdzioS Offline
              sierdzioS Offline
              sierdzio
              Moderators
              wrote on last edited by
              #6

              Yes. Both v4vm and the new Scenegraph give both memory and CPU load improvements. They are mightily significant, although really I had no problems with QtQuick performance, even with old QtQuick1 on an Android device it ran smoothly. I don't care about GUI designer for QML myself, because I don't use it at all - I work in text mode only :)

              I personally don't encourage you to do anything else than give QML a try. Both Widgets and QML are very good, both can be used in Qt code, both are maintained and developed by Qt Project. You need to get to know both technologies and then choose which is best for your specific use case. I can't make that decision for you.

              (Z(:^

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mbnoimi
                wrote on last edited by
                #7

                bq. I personally don’t encourage you to do anything else than give QML a try.

                I already gave it a try as I mentioned above the remained worrying thing is GUI designer because I found it a vital tool for RAD.

                Any way, I think QtQuick is a fabulous piece of code but Digia policy with QtQuick isn't open source friendly so I'll keep stick to QtWidgets until something change.

                Thank you sierdzio :)

                1 Reply Last reply
                0
                • sierdzioS Offline
                  sierdzioS Offline
                  sierdzio
                  Moderators
                  wrote on last edited by
                  #8

                  Just an update: this wiki article shows nicely that both QtQuick and QtWidgets are getting updates: "link":http://qt-project.org/wiki/New-Features-in-Qt-5.2.

                  (Z(:^

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    stereomatching
                    wrote on last edited by
                    #9

                    [quote author="sierdzio" date="1378183698"]
                    That said, Qt Quick is really cool :) It probably is better on both mobile and desktop, but that depends on your use case.[/quote]
                    I agree with you that Qt Quick is really cool :), but it has some drastic fall back compare to widgets solution(for me).

                    1 : components of Qt Quick are basic, even control module is out the components of Qt Quick still not as rich as widgets if you want to develop desktop apps

                    2 : QtQuick2 need the support of openGL, if your platform do not have decent openGL support, you may not use it.

                    About the change of the engine, is it possible for us to pass the parameters of c++ and qml by "reference"(now or in the future)?

                    1 Reply Last reply
                    0
                    • sierdzioS Offline
                      sierdzioS Offline
                      sierdzio
                      Moderators
                      wrote on last edited by
                      #10

                      [quote author="stereomatching" date="1385481363"]About the change of the engine, is it possible for us to pass the parameters of c++ and qml by "reference"(now or in the future)?[/quote]

                      Not sure what you mean, but QtQuick in general works on QObject pointers, also JavaScript passes pointers (or references) around. So I think the answer is (and always has been) yes, but I may have misunderstood you.

                      (Z(:^

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        stereomatching
                        wrote on last edited by
                        #11

                        [quote author="sierdzio" date="1385481659"][quote author="stereomatching" date="1385481363"]About the change of the engine, is it possible for us to pass the parameters of c++ and qml by "reference"(now or in the future)?[/quote]

                        Not sure what you mean, but QtQuick in general works on QObject pointers, also JavaScript passes pointers (or references) around. So I think the answer is (and always has been) yes, but I may have misunderstood you.
                        [/quote]

                        It is the same problem on "this post":http://qt-project.org/forums/viewthread/29206/

                        The data between qml and c++ are always copy

                        @
                        public slots:
                        //can't declare like this
                        void test(QList<QUrl> &first, QList<QUrl> &second)
                        {

                        }
                        

                        @

                        @
                        //this one work, after experiment, the data between
                        //qml and c++ are always copy
                        void test(QList<QUrl> first, QList<QUrl> second)
                        {

                        }
                        

                        @

                        These are the result of Qt5.1, I don't know about Qt5.2(haven't experiend yet)

                        1 Reply Last reply
                        0
                        • sierdzioS Offline
                          sierdzioS Offline
                          sierdzio
                          Moderators
                          wrote on last edited by
                          #12

                          I don't think I've used those kinds of objects, maybe you are right. We'll see how it works with v4vm.

                          (Z(:^

                          1 Reply Last reply
                          0

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved