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.7k 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.
  • 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