Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt6 QProxyStyle cause app crash

Qt6 QProxyStyle cause app crash

Scheduled Pinned Locked Moved Unsolved General and Desktop
qproxystyleqstyleqapplication
17 Posts 4 Posters 2.2k Views
  • 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.
  • C Offline
    C Offline
    Christian Ehrlicher
    Lifetime Qt Champion
    wrote on 22 Feb 2021, 18:49 last edited by
    #7

    @Dariusz said in Qt6 QProxyStyle cause app crash:

    The problem I'm having is that I can't get it to look the same as when I take QApplication::style().

    Maybe your app isn't using the fusion style? Use the correct style which you app is using. The name of the style can only be retrieved via QApplication::style()->objectName() till Qt6.0, for 6.1 you can use a better function - QStyle::name() - see https://codereview.qt-project.org/c/qt/qtbase/+/328116

    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
    Visit the Qt Academy at https://academy.qt.io/catalog

    D 1 Reply Last reply 22 Feb 2021, 19:32
    0
    • C Christian Ehrlicher
      22 Feb 2021, 18:49

      @Dariusz said in Qt6 QProxyStyle cause app crash:

      The problem I'm having is that I can't get it to look the same as when I take QApplication::style().

      Maybe your app isn't using the fusion style? Use the correct style which you app is using. The name of the style can only be retrieved via QApplication::style()->objectName() till Qt6.0, for 6.1 you can use a better function - QStyle::name() - see https://codereview.qt-project.org/c/qt/qtbase/+/328116

      D Offline
      D Offline
      Dariusz
      wrote on 22 Feb 2021, 19:32 last edited by
      #8

      @Christian-Ehrlicher Yeah I do

      In general I do something like this

      app.setStyle(QStyleFactory.create("fusion"))
      QPalette pa
      /*pa set bunch of pa options */
      app.setPalette(pa)
      app.setStyleSheet(""" style stuff""")
      

      But the QProxyStyle sheet does not properly clone it. So I'm trying to manually make a new one, assign it and well not cause any mem error... So far I'm failing left and right.

      1 Reply Last reply
      0
      • C Offline
        C Offline
        Christian Ehrlicher
        Lifetime Qt Champion
        wrote on 22 Feb 2021, 20:23 last edited by
        #9

        When you create a new style you also have to apply your own palette if you want to same as the app style.

        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
        Visit the Qt Academy at https://academy.qt.io/catalog

        D 1 Reply Last reply 23 Feb 2021, 10:55
        0
        • C Christian Ehrlicher
          22 Feb 2021, 20:23

          When you create a new style you also have to apply your own palette if you want to same as the app style.

          D Offline
          D Offline
          Dariusz
          wrote on 23 Feb 2021, 10:55 last edited by
          #10

          @Christian-Ehrlicher said in Qt6 QProxyStyle cause app crash:

          When you create a new style you also have to apply your own palette if you want to same as the app style.

          Yes but I can't get it to work.
          I apply QStyle, Palette and StyleSheet to my QApp. But how can I properly replicate it ? I tried making a widget and then taking it from widget. But that did not work either. And QProxyStyle wrecks havoc when it gets a style each time.

          1 Reply Last reply
          0
          • C Offline
            C Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on 23 Feb 2021, 15:03 last edited by
            #11

            @Dariusz said in Qt6 QProxyStyle cause app crash:

            But how can I properly replicate it ?

            Apply the same things to the newly created style.

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            D 1 Reply Last reply 23 Feb 2021, 18:59
            0
            • C Christian Ehrlicher
              23 Feb 2021, 15:03

              @Dariusz said in Qt6 QProxyStyle cause app crash:

              But how can I properly replicate it ?

              Apply the same things to the newly created style.

              D Offline
              D Offline
              Dariusz
              wrote on 23 Feb 2021, 18:59 last edited by
              #12

              @Christian-Ehrlicher said in Qt6 QProxyStyle cause app crash:

              @Dariusz said in Qt6 QProxyStyle cause app crash:

              But how can I properly replicate it ?

              Apply the same things to the newly created style.

              I can't set styleSheet() on style... So I cant style the Style... o.o

              1 Reply Last reply
              0
              • C Offline
                C Offline
                Christian Ehrlicher
                Lifetime Qt Champion
                wrote on 23 Feb 2021, 19:10 last edited by Christian Ehrlicher
                #13

                Then don't use this approach and don't delete the proxy style.

                Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                Visit the Qt Academy at https://academy.qt.io/catalog

                D 1 Reply Last reply 23 Feb 2021, 19:18
                0
                • C Christian Ehrlicher
                  23 Feb 2021, 19:10

                  Then don't use this approach and don't delete the proxy style.

                  D Offline
                  D Offline
                  Dariusz
                  wrote on 23 Feb 2021, 19:18 last edited by
                  #14

                  @Christian-Ehrlicher So I will have memory leak... I have to delete treeview when user changes properties...

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    Christian Ehrlicher
                    Lifetime Qt Champion
                    wrote on 24 Feb 2021, 15:00 last edited by
                    #15

                    But why do you have to re-create the style then? Apart from that - why do you need to re-create a treeview widget at all?

                    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                    Visit the Qt Academy at https://academy.qt.io/catalog

                    D 1 Reply Last reply 24 Feb 2021, 18:21
                    0
                    • C Christian Ehrlicher
                      24 Feb 2021, 15:00

                      But why do you have to re-create the style then? Apart from that - why do you need to re-create a treeview widget at all?

                      D Offline
                      D Offline
                      Dariusz
                      wrote on 24 Feb 2021, 18:21 last edited by
                      #16

                      @Christian-Ehrlicher The app creates content depending on user selection. Different content require different views as well as I can have multiple views for one content... so widgets gets made/deleted on a "normal basis". So deleting widget/treeView is a normal thing. It seems that this issue is even bigger on older OS as win7 just refuses to draw app after these "workarounds" :- (

                      1 Reply Last reply
                      0
                      • C Offline
                        C Offline
                        Christian Ehrlicher
                        Lifetime Qt Champion
                        wrote on 24 Feb 2021, 18:34 last edited by
                        #17

                        Sorry but I still don't see why you need to delete and re-create the proxy style. But do what you like.

                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                        Visit the Qt Academy at https://academy.qt.io/catalog

                        1 Reply Last reply
                        0

                        16/17

                        24 Feb 2021, 18:21

                        • Login

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