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. QComboBox palette not working

QComboBox palette not working

Scheduled Pinned Locked Moved Solved General and Desktop
14 Posts 3 Posters 3.0k 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #2

    Hi,

    What version of Qt are you using ?
    On what platform ?

    Note that the platform is allowed to ignore values of the palette so it might be what is happening.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    EngelardE 2 Replies Last reply
    1
    • SGaistS SGaist

      Hi,

      What version of Qt are you using ?
      On what platform ?

      Note that the platform is allowed to ignore values of the palette so it might be what is happening.

      EngelardE Offline
      EngelardE Offline
      Engelard
      wrote on last edited by
      #3

      @SGaist said in QComboBox palette not working:

      What version of Qt are you using ?

      alt text

      On what platform ?

      Windows 10 Education

      mrjjM 1 Reply Last reply
      0
      • EngelardE Engelard

        @SGaist said in QComboBox palette not working:

        What version of Qt are you using ?

        alt text

        On what platform ?

        Windows 10 Education

        mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by mrjj
        #4

        @Engelard
        Hi
        That is the Qt version Creator was build with.
        The Qt version used to make programs can be very
        different. (and you can have multiple version installed)

        you can look in Projects
        alt text

        1 Reply Last reply
        1
        • SGaistS SGaist

          Hi,

          What version of Qt are you using ?
          On what platform ?

          Note that the platform is allowed to ignore values of the palette so it might be what is happening.

          EngelardE Offline
          EngelardE Offline
          Engelard
          wrote on last edited by
          #5

          @SGaist said in QComboBox palette not working:

          Note that the platform is allowed to ignore values of the palette so it might be what is happening.

          Definitely not. Since i mentioned at the beginning that palette of textColors are applied to my ComboBoxes, so that is not igrnoring.

          mrjjM 1 Reply Last reply
          0
          • EngelardE Engelard

            @SGaist said in QComboBox palette not working:

            Note that the platform is allowed to ignore values of the palette so it might be what is happening.

            Definitely not. Since i mentioned at the beginning that palette of textColors are applied to my ComboBoxes, so that is not igrnoring.

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by
            #6

            @Engelard
            Hi
            Some platforms QStyle might not use ( as in ignore) some of the roles.
            Some roles that worked on linux had no effect in Windows in my app.
            http://doc.qt.io/qt-5/style-reference.html

            Also, the Qcombobox is actually a view and uses the models role hints which
            might not use palette that much for "items"
            https://code.woboq.org/qt5/qtbase/src/widgets/widgets/qcombobox.cpp.html

            EngelardE 1 Reply Last reply
            2
            • mrjjM mrjj

              @Engelard
              Hi
              Some platforms QStyle might not use ( as in ignore) some of the roles.
              Some roles that worked on linux had no effect in Windows in my app.
              http://doc.qt.io/qt-5/style-reference.html

              Also, the Qcombobox is actually a view and uses the models role hints which
              might not use palette that much for "items"
              https://code.woboq.org/qt5/qtbase/src/widgets/widgets/qcombobox.cpp.html

              EngelardE Offline
              EngelardE Offline
              Engelard
              wrote on last edited by
              #7

              @mrjj Frankly i changed all to styleSheets, not such handy, more complex code but working more or less...

              mrjjM 1 Reply Last reply
              0
              • EngelardE Engelard

                @mrjj Frankly i changed all to styleSheets, not such handy, more complex code but working more or less...

                mrjjM Offline
                mrjjM Offline
                mrjj
                Lifetime Qt Champion
                wrote on last edited by
                #8

                @Engelard
                ok :)
                Im not sure what you want to color, but stylesheet works fine as long
                one not trying to combine with models roles :)

                EngelardE 1 Reply Last reply
                1
                • mrjjM mrjj

                  @Engelard
                  ok :)
                  Im not sure what you want to color, but stylesheet works fine as long
                  one not trying to combine with models roles :)

                  EngelardE Offline
                  EngelardE Offline
                  Engelard
                  wrote on last edited by
                  #9

                  @mrjj said in QComboBox palette not working:

                  Im not sure what you want to color,

                  simple BG-color, with palette it would be 2 lines of code, with stylesheet it 6(alot of conversons to each color from QCOlor, then it convert to string, lots of extrawork).

                  mrjjM 1 Reply Last reply
                  0
                  • EngelardE Engelard

                    @mrjj said in QComboBox palette not working:

                    Im not sure what you want to color,

                    simple BG-color, with palette it would be 2 lines of code, with stylesheet it 6(alot of conversons to each color from QCOlor, then it convert to string, lots of extrawork).

                    mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by
                    #10

                    @Engelard
                    You can also do
                    ui->comboBox->setItemData( 0, QColor( Qt::black ), Qt::BackgroundRole );
                    ui->comboBox->setItemData( 1, QColor( Qt::red ), Qt::BackgroundRole );
                    since its uses an (internal) model. and is basically a view like Listview etc.

                    EngelardE 1 Reply Last reply
                    1
                    • mrjjM mrjj

                      @Engelard
                      You can also do
                      ui->comboBox->setItemData( 0, QColor( Qt::black ), Qt::BackgroundRole );
                      ui->comboBox->setItemData( 1, QColor( Qt::red ), Qt::BackgroundRole );
                      since its uses an (internal) model. and is basically a view like Listview etc.

                      EngelardE Offline
                      EngelardE Offline
                      Engelard
                      wrote on last edited by Engelard
                      #11

                      @mrjj said in QComboBox palette not working:

                      @Engelard
                      You can also do
                      ui->comboBox->setItemData( 0, QColor( Qt::black ), Qt::BackgroundRole );
                      ui->comboBox->setItemData( 1, QColor( Qt::red ), Qt::BackgroundRole );

                      Hey, that's pretty good!

                      But it applied only for items inside(which great, will use in future maybe), i still can't find something like ->setData(); so it would be applied for comboBox container it'self.

                      mrjjM 1 Reply Last reply
                      0
                      • EngelardE Engelard

                        @mrjj said in QComboBox palette not working:

                        @Engelard
                        You can also do
                        ui->comboBox->setItemData( 0, QColor( Qt::black ), Qt::BackgroundRole );
                        ui->comboBox->setItemData( 1, QColor( Qt::red ), Qt::BackgroundRole );

                        Hey, that's pretty good!

                        But it applied only for items inside(which great, will use in future maybe), i still can't find something like ->setData(); so it would be applied for comboBox container it'self.

                        mrjjM Offline
                        mrjjM Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on last edited by
                        #12

                        @Engelard
                        well the roles in the model is only use for items and not for the view
                        http://doc.qt.io/qt-5/qcombobox.html#view

                        but it tried your code and it did work for me ??

                        alt text

                        EngelardE 1 Reply Last reply
                        0
                        • mrjjM mrjj

                          @Engelard
                          well the roles in the model is only use for items and not for the view
                          http://doc.qt.io/qt-5/qcombobox.html#view

                          but it tried your code and it did work for me ??

                          alt text

                          EngelardE Offline
                          EngelardE Offline
                          Engelard
                          wrote on last edited by
                          #13

                          @mrjj said in QComboBox palette not working:

                          but it tried your code and it did work for me ??

                          sorry i don't get that part.

                          mrjjM 1 Reply Last reply
                          0
                          • EngelardE Engelard

                            @mrjj said in QComboBox palette not working:

                            but it tried your code and it did work for me ??

                            sorry i don't get that part.

                            mrjjM Offline
                            mrjjM Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on last edited by
                            #14

                            @Engelard
                            Hi

                            QPalette oriPal;  //at the .h file
                            oriPal = cbBox->palette();
                            oriPal.setColor(QPalette::Base, Qt::red);
                            cbBox->setPalette(oriPal);
                            

                            did color it red as picture showed.
                            so it did use QPalette::Base ( Qt 5.11, windows)

                            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