Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Does QML support native look-and-feel on Windows?
Forum Updated to NodeBB v4.3 + New Features

Does QML support native look-and-feel on Windows?

Scheduled Pinned Locked Moved Solved QML and Qt Quick
20 Posts 6 Posters 4.5k Views 4 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.
  • raven-worxR raven-worx

    @Asperamanca
    you need to use the QtQuick.Controls module
    Those docs say:

    Note: We are using QApplication and not QGuiApplication in this example. Though you can use QGuiApplication instead, doing this will eliminate platform-dependent styling. This is because it is relying on the widget module to provide the native look and feel.

    A Offline
    A Offline
    Asperamanca
    wrote on last edited by
    #3

    @raven-worx said in Does QML support native look-and-feel on Windows?:

    @Asperamanca
    you need to use the QtQuick.Controls module
    Those docs say:

    Note: We are using QApplication and not QGuiApplication in this example. Though you can use QGuiApplication instead, doing this will eliminate platform-dependent styling. This is because it is relying on the widget module to provide the native look and feel.

    I was looking at the Gallery sample, but the one for Qt Quick Controls 2. There, I don't have any native style.
    Does that mean that native styling is only supported by Qt Quick Controls 1?

    raven-worxR 1 Reply Last reply
    0
    • A Asperamanca

      @raven-worx said in Does QML support native look-and-feel on Windows?:

      @Asperamanca
      you need to use the QtQuick.Controls module
      Those docs say:

      Note: We are using QApplication and not QGuiApplication in this example. Though you can use QGuiApplication instead, doing this will eliminate platform-dependent styling. This is because it is relying on the widget module to provide the native look and feel.

      I was looking at the Gallery sample, but the one for Qt Quick Controls 2. There, I don't have any native style.
      Does that mean that native styling is only supported by Qt Quick Controls 1?

      raven-worxR Offline
      raven-worxR Offline
      raven-worx
      Moderators
      wrote on last edited by
      #4

      @Asperamanca said in Does QML support native look-and-feel on Windows?:

      Does that mean that native styling is only supported by Qt Quick Controls 1?

      yes

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      RokeJulianLockhartR 1 Reply Last reply
      0
      • A Offline
        A Offline
        Asperamanca
        wrote on last edited by
        #5

        Thanks for clarifying that.

        My enthusiasm trying out QML just took a hit. Sure, I can stick to Qt Quick Controls 1, but they are not extended anymore, so I might as well stick to widgets.

        raven-worxR 1 Reply Last reply
        1
        • A Asperamanca

          Thanks for clarifying that.

          My enthusiasm trying out QML just took a hit. Sure, I can stick to Qt Quick Controls 1, but they are not extended anymore, so I might as well stick to widgets.

          raven-worxR Offline
          raven-worxR Offline
          raven-worx
          Moderators
          wrote on last edited by
          #6

          @Asperamanca
          my personal preference is
          QtWidgets for Desktop
          QML for mobile/touch devices

          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
          If you have a question please use the forum so others can benefit from the solution in the future

          KevinMQtK A 2 Replies Last reply
          2
          • raven-worxR raven-worx

            @Asperamanca
            my personal preference is
            QtWidgets for Desktop
            QML for mobile/touch devices

            KevinMQtK Offline
            KevinMQtK Offline
            KevinMQt
            wrote on last edited by
            #7

            @raven-worx said in Does QML support native look-and-feel on Windows?:

            @Asperamanca
            my personal preference is
            QtWidgets for Desktop
            QML for mobile/touch devices

            Bo Thorsen also expressed a similar view back in 2015: https://lists.qt-project.org/pipermail/interest/2015-June/017412.html

            It's 2019, do you still hold the same view that Qt Widgets is best for native looking Desktop(Win,Mac,Linux) applications and Qt Quick/QML is best for Mobile & Embedded. Qt Designer is the drag and drop tool(rapid prototyping) for Qt Widgets, is it in active development? I'm asking this because on Qt website about UI tools it's not listed. https://www.qt.io/design I was thinking if Qt Widgets is still in use then Qt Designer should be added there.

            raven-worxR 1 Reply Last reply
            0
            • raven-worxR raven-worx

              @Asperamanca
              my personal preference is
              QtWidgets for Desktop
              QML for mobile/touch devices

              A Offline
              A Offline
              Asperamanca
              wrote on last edited by
              #8

              @raven-worx said in Does QML support native look-and-feel on Windows?:

              @Asperamanca
              my personal preference is
              QtWidgets for Desktop
              QML for mobile/touch devices

              And what do you do it the same code (logically, not necessary the identical GUI) should run on both?
              E.g. either a PC/Notebook or a large touchscreen / touch notebook?

              1 Reply Last reply
              0
              • KevinMQtK KevinMQt

                @raven-worx said in Does QML support native look-and-feel on Windows?:

                @Asperamanca
                my personal preference is
                QtWidgets for Desktop
                QML for mobile/touch devices

                Bo Thorsen also expressed a similar view back in 2015: https://lists.qt-project.org/pipermail/interest/2015-June/017412.html

                It's 2019, do you still hold the same view that Qt Widgets is best for native looking Desktop(Win,Mac,Linux) applications and Qt Quick/QML is best for Mobile & Embedded. Qt Designer is the drag and drop tool(rapid prototyping) for Qt Widgets, is it in active development? I'm asking this because on Qt website about UI tools it's not listed. https://www.qt.io/design I was thinking if Qt Widgets is still in use then Qt Designer should be added there.

                raven-worxR Offline
                raven-worxR Offline
                raven-worx
                Moderators
                wrote on last edited by
                #9

                @KevinMQt said in Does QML support native look-and-feel on Windows?:

                It's 2019, do you still hold the same view that Qt Widgets is best for native looking Desktop(Win,Mac,Linux) applications and Qt Quick/QML is best for Mobile & Embedded

                yes, i (personally) do.

                Qt Designer is the drag and drop tool(rapid prototyping) for Qt Widgets, is it in active development?

                it's part of QtCreator, so yes. Also there is QtDesignStudio in the meantime available.

                And what do you do it the same code (logically, not necessary the identical GUI) should run on both?

                There is no true right/wrong.
                It als heavily depends on your UI. Nevertheless its possible to share the same backend (C++ data logic) and only use QtWidgets and QML for the UI (see the MVC pattern for example).
                See https://doc.qt.io/qt-5/qtqml-cppintegration-data.html

                --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                If you have a question please use the forum so others can benefit from the solution in the future

                A 1 Reply Last reply
                1
                • raven-worxR raven-worx

                  @KevinMQt said in Does QML support native look-and-feel on Windows?:

                  It's 2019, do you still hold the same view that Qt Widgets is best for native looking Desktop(Win,Mac,Linux) applications and Qt Quick/QML is best for Mobile & Embedded

                  yes, i (personally) do.

                  Qt Designer is the drag and drop tool(rapid prototyping) for Qt Widgets, is it in active development?

                  it's part of QtCreator, so yes. Also there is QtDesignStudio in the meantime available.

                  And what do you do it the same code (logically, not necessary the identical GUI) should run on both?

                  There is no true right/wrong.
                  It als heavily depends on your UI. Nevertheless its possible to share the same backend (C++ data logic) and only use QtWidgets and QML for the UI (see the MVC pattern for example).
                  See https://doc.qt.io/qt-5/qtqml-cppintegration-data.html

                  A Offline
                  A Offline
                  Asperamanca
                  wrote on last edited by
                  #10

                  @raven-worx said in Does QML support native look-and-feel on Windows?:

                  @KevinMQt said in Does QML support native look-and-feel on Windows?:

                  It's 2019, do you still hold the same view that Qt Widgets is best for native looking Desktop(Win,Mac,Linux) applications and Qt Quick/QML is best for Mobile & Embedded

                  yes, i (personally) do.

                  Qt Designer is the drag and drop tool(rapid prototyping) for Qt Widgets, is it in active development?

                  it's part of QtCreator, so yes. Also there is QtDesignStudio in the meantime available.

                  And what do you do it the same code (logically, not necessary the identical GUI) should run on both?

                  There is no true right/wrong.
                  It als heavily depends on your UI. Nevertheless its possible to share the same backend (C++ data logic) and only use QtWidgets and QML for the UI (see the MVC pattern for example).
                  See https://doc.qt.io/qt-5/qtqml-cppintegration-data.html

                  Did you share the right link? I don't see any mention of MVC or "model" in the article.
                  Also, for scenes that have complex logic in the loading code, my impression so far is that generating QML scenes from C++ (via template QML files) must by necessity be very slow compared to creating a scene directly in GraphicsView.

                  raven-worxR 1 Reply Last reply
                  0
                  • A Asperamanca

                    @raven-worx said in Does QML support native look-and-feel on Windows?:

                    @KevinMQt said in Does QML support native look-and-feel on Windows?:

                    It's 2019, do you still hold the same view that Qt Widgets is best for native looking Desktop(Win,Mac,Linux) applications and Qt Quick/QML is best for Mobile & Embedded

                    yes, i (personally) do.

                    Qt Designer is the drag and drop tool(rapid prototyping) for Qt Widgets, is it in active development?

                    it's part of QtCreator, so yes. Also there is QtDesignStudio in the meantime available.

                    And what do you do it the same code (logically, not necessary the identical GUI) should run on both?

                    There is no true right/wrong.
                    It als heavily depends on your UI. Nevertheless its possible to share the same backend (C++ data logic) and only use QtWidgets and QML for the UI (see the MVC pattern for example).
                    See https://doc.qt.io/qt-5/qtqml-cppintegration-data.html

                    Did you share the right link? I don't see any mention of MVC or "model" in the article.
                    Also, for scenes that have complex logic in the loading code, my impression so far is that generating QML scenes from C++ (via template QML files) must by necessity be very slow compared to creating a scene directly in GraphicsView.

                    raven-worxR Offline
                    raven-worxR Offline
                    raven-worx
                    Moderators
                    wrote on last edited by
                    #11

                    @Asperamanca said in Does QML support native look-and-feel on Windows?:

                    Did you share the right link? I don't see any mention of MVC or "model" in the article.

                    MVC is a generic software pattern to separate logic from representation (UI).
                    https://en.wikipedia.org/wiki/Model–view–controller

                    --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                    If you have a question please use the forum so others can benefit from the solution in the future

                    A 1 Reply Last reply
                    0
                    • raven-worxR raven-worx

                      @Asperamanca said in Does QML support native look-and-feel on Windows?:

                      Did you share the right link? I don't see any mention of MVC or "model" in the article.

                      MVC is a generic software pattern to separate logic from representation (UI).
                      https://en.wikipedia.org/wiki/Model–view–controller

                      A Offline
                      A Offline
                      Asperamanca
                      wrote on last edited by
                      #12

                      @raven-worx said in Does QML support native look-and-feel on Windows?:

                      @Asperamanca said in Does QML support native look-and-feel on Windows?:

                      Did you share the right link? I don't see any mention of MVC or "model" in the article.

                      MVC is a generic software pattern to separate logic from representation (UI).
                      https://en.wikipedia.org/wiki/Model–view–controller

                      Yeah, I know that one. I was just wondering what the link you originally shared had to do with it.

                      raven-worxR 1 Reply Last reply
                      0
                      • A Asperamanca

                        @raven-worx said in Does QML support native look-and-feel on Windows?:

                        @Asperamanca said in Does QML support native look-and-feel on Windows?:

                        Did you share the right link? I don't see any mention of MVC or "model" in the article.

                        MVC is a generic software pattern to separate logic from representation (UI).
                        https://en.wikipedia.org/wiki/Model–view–controller

                        Yeah, I know that one. I was just wondering what the link you originally shared had to do with it.

                        raven-worxR Offline
                        raven-worxR Offline
                        raven-worx
                        Moderators
                        wrote on last edited by
                        #13

                        @Asperamanca said in Does QML support native look-and-feel on Windows?:

                        I was just wondering what the link you originally shared had to do with it.

                        it is about how C++ data types (backend) can be sent to QML (UI) and vice versa.

                        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                        If you have a question please use the forum so others can benefit from the solution in the future

                        1 Reply Last reply
                        0
                        • raven-worxR raven-worx

                          @Asperamanca said in Does QML support native look-and-feel on Windows?:

                          Does that mean that native styling is only supported by Qt Quick Controls 1?

                          yes

                          RokeJulianLockhartR Offline
                          RokeJulianLockhartR Offline
                          RokeJulianLockhart
                          wrote last edited by RokeJulianLockhart
                          #14

                          Does that mean that native styling is only supported by Qt Quick Controls 1?

                          Yes.

                          @raven-worx, is this still true? I ask because I want to commit to Qt 6, but it's really, really difficult when native style support is so inconsistent. I see that QtWidgets, which inherits the native QStyle is deprecated in favour of QML, but solely the deprecated QtQuickControls 1 appears to provide native QQuickStyle, for its replacement – at least, QtQuickControls 2 – does not appear to.

                          I'm using KDE Plasma 6 as my development and deployment environment, so native "application style" (as kcm_style phrases it) is important to me (until at least KDE's Union can unify the QStyle and QQuickStyles). If not, I'll convert to something like wxQt / wxMSW (post/822753) per-platform.

                          When using a forum, remember to tag the person you are responding to, in case they are not subscribed to the thread.

                          JKSHJ B 2 Replies Last reply
                          0
                          • RokeJulianLockhartR RokeJulianLockhart

                            Does that mean that native styling is only supported by Qt Quick Controls 1?

                            Yes.

                            @raven-worx, is this still true? I ask because I want to commit to Qt 6, but it's really, really difficult when native style support is so inconsistent. I see that QtWidgets, which inherits the native QStyle is deprecated in favour of QML, but solely the deprecated QtQuickControls 1 appears to provide native QQuickStyle, for its replacement – at least, QtQuickControls 2 – does not appear to.

                            I'm using KDE Plasma 6 as my development and deployment environment, so native "application style" (as kcm_style phrases it) is important to me (until at least KDE's Union can unify the QStyle and QQuickStyles). If not, I'll convert to something like wxQt / wxMSW (post/822753) per-platform.

                            JKSHJ Offline
                            JKSHJ Offline
                            JKSH
                            Moderators
                            wrote last edited by
                            #15

                            @RokeJulianLockhart said in Does QML support native look-and-feel on Windows?:

                            @raven-worx, is this still true? I ask because I want to commit to Qt 6, but it's really, really difficult when native style support is so inconsistent.

                            In Qt 6, Qt Quick Controls offers the Windows style (Windows 10 style) as well as the FluentWinUI3 style (Windows 11 style): https://doc.qt.io/qt-6/qtquickcontrols-styles.html#windows-style

                            I see that QtWidgets, which inherits the native QStyle is deprecated in favour of QML

                            Widgets aren't going anywhere anytime soon. They are still fully maintained, and are even getting a new style: https://wiki.qt.io/QtCS25_-_UnifiedStyling

                            Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                            RokeJulianLockhartR 1 Reply Last reply
                            2
                            • RokeJulianLockhartR RokeJulianLockhart

                              Does that mean that native styling is only supported by Qt Quick Controls 1?

                              Yes.

                              @raven-worx, is this still true? I ask because I want to commit to Qt 6, but it's really, really difficult when native style support is so inconsistent. I see that QtWidgets, which inherits the native QStyle is deprecated in favour of QML, but solely the deprecated QtQuickControls 1 appears to provide native QQuickStyle, for its replacement – at least, QtQuickControls 2 – does not appear to.

                              I'm using KDE Plasma 6 as my development and deployment environment, so native "application style" (as kcm_style phrases it) is important to me (until at least KDE's Union can unify the QStyle and QQuickStyles). If not, I'll convert to something like wxQt / wxMSW (post/822753) per-platform.

                              B Offline
                              B Offline
                              Bob64
                              wrote last edited by
                              #16

                              @RokeJulianLockhart said in Does QML support native look-and-feel on Windows?:

                              ... I want to commit to Qt 6, ..., but solely the deprecated QtQuickControls 1 appears to provide native QQuickStyle, for its replacement

                              Just to note that QtQuickControls 1 is more than deprecated in Qt 6. The deprecation happened in Qt 5 in advance of its removal in Qt 6.

                              1 Reply Last reply
                              1
                              • JKSHJ JKSH

                                @RokeJulianLockhart said in Does QML support native look-and-feel on Windows?:

                                @raven-worx, is this still true? I ask because I want to commit to Qt 6, but it's really, really difficult when native style support is so inconsistent.

                                In Qt 6, Qt Quick Controls offers the Windows style (Windows 10 style) as well as the FluentWinUI3 style (Windows 11 style): https://doc.qt.io/qt-6/qtquickcontrols-styles.html#windows-style

                                I see that QtWidgets, which inherits the native QStyle is deprecated in favour of QML

                                Widgets aren't going anywhere anytime soon. They are still fully maintained, and are even getting a new style: https://wiki.qt.io/QtCS25_-_UnifiedStyling

                                RokeJulianLockhartR Offline
                                RokeJulianLockhartR Offline
                                RokeJulianLockhart
                                wrote last edited by RokeJulianLockhart
                                #17

                                @JKSH, as aforestated, my environment isn't primarily Windows, so a pre-defined WinUI2/3-equivalent QQuickStyle is assistive, but not sufficiently comprehensive if I want to utilise QML.

                                However, I'm glad to hear that QtWidgets are in active development.

                                Though, this rather reminds me of the mess with Microsoft's myriad equivalent GUI endeavours – is all the information I see online about QtWidgets being deprecated in QML's favour (which KDE's push for Kirigami appears to mimic) because that was once true, but isn't anymore?

                                When using a forum, remember to tag the person you are responding to, in case they are not subscribed to the thread.

                                JKSHJ 1 Reply Last reply
                                0
                                • RokeJulianLockhartR RokeJulianLockhart

                                  @JKSH, as aforestated, my environment isn't primarily Windows, so a pre-defined WinUI2/3-equivalent QQuickStyle is assistive, but not sufficiently comprehensive if I want to utilise QML.

                                  However, I'm glad to hear that QtWidgets are in active development.

                                  Though, this rather reminds me of the mess with Microsoft's myriad equivalent GUI endeavours – is all the information I see online about QtWidgets being deprecated in QML's favour (which KDE's push for Kirigami appears to mimic) because that was once true, but isn't anymore?

                                  JKSHJ Offline
                                  JKSHJ Offline
                                  JKSH
                                  Moderators
                                  wrote last edited by
                                  #18

                                  @RokeJulianLockhart said in Does QML support native look-and-feel on Windows?:

                                  @JKSH, as aforestated, my environment isn't primarily Windows, so a pre-defined WinUI2/3-equivalent QQuickStyle is assistive, but not sufficiently comprehensive if I want to utilise QML.

                                  Ah, I missed that. This thread is about native look-and-feel on Windows so I answered in that context.

                                  OK, Qt Quick Controls also has native styles for macOS, iOS, and Android. (There's no such thing as a "native" style for Linux)

                                  My suggestion? Give Qt Quick a test run with a simple test project. Decide whether to use it or not based on how it helps you get things done, not just what styles are available.

                                  Other note: The graphics technology is called Qt Quick. The primary language is QML, but you can still use C++ to implement some Qt Quick classes if you wish.

                                  is all the information I see online about QtWidgets being deprecated in QML's favour (which KDE's push for Kirigami appears to mimic) because that was once true, but isn't anymore?

                                  Well, Qt Widgets was never deprecated in the first place.

                                  My guess is that people saw that each new release brought big improvements to Qt Quick but didn't bring big improvements to Qt Widgets, and concluded that widgets are being dumped. What they forgot was this:

                                  • Widgets were a mature, 20-year-old technology that works well and is relied on by many, so there's no room for fancy revolutionary changes.
                                  • Qt Quick was a new young technology, wet around the ears, with lots of room for growth. That's why the growth spurts seem so dramatic.

                                  However, I'm glad to hear that QtWidgets are in active development.

                                  I'm not sure I'd use the term "active development" though. It's being maintained, bugs are fixed, and it's kept working smoothly with new versions of OS'es, but there's no revolution happening.

                                  Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                  1 Reply Last reply
                                  2
                                  • A Offline
                                    A Offline
                                    Asperamanca
                                    wrote last edited by
                                    #19

                                    My understanding is that KDE itself uses Qt Quick, so I'd be surprised if they could not make the controls look native...

                                    1 Reply Last reply
                                    1
                                    • RokeJulianLockhartR Offline
                                      RokeJulianLockhartR Offline
                                      RokeJulianLockhart
                                      wrote last edited by
                                      #20

                                      @Asperamanca, you'd be as surprised as me, per discuss.kde.org/t/173/17 and discuss.kde.org/t/13920. Although the focuses are on a very specific (albeit important topic), the latter cites some very verbose criticisms from developers. I'm of the hope it's Kirigami's fault, rather than QML's. However, when I've tried pure QML on Plasma, it's looked worse than even Kirigami does. I'll presume that that's because the original creators of Kirigami attempted to style QML initially, and solely after they realised that they couldn't to their satisfaction, created Kirigami.

                                      I'd say that this is in comparison to their QStyle, which doesn't require a middleman to style QtWidgets-based applications. However, considering the Union project has recently come to fruition, that might not be true. Though, it might instead be because they need to style QML so heavily that they can't feasibly maintain a QStyle and QQuickStyle.

                                      I'll merely wait a little for Union to be released, to see whether the styling improves across platforms. The FluentWinUI3 were a significant improvement, after seeing them in use in NextCloud on Windows 11. It'd be nice if solely one technology were the future, whether QML or QtWidgets.

                                      When using a forum, remember to tag the person you are responding to, in case they are not subscribed to the thread.

                                      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