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. use of colors/palettes/stylesheets

use of colors/palettes/stylesheets

Scheduled Pinned Locked Moved Solved General and Desktop
12 Posts 6 Posters 7.6k 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.
  • mzimmersM Offline
    mzimmersM Offline
    mzimmers
    wrote on last edited by mzimmers
    #1

    I've been asked to add some color to my app, and am trying to understand how to do this.

    • Do I understand correctly that I should be using the palette property of the QWidget object, rather than trying to control colors on individual items?
    • as an example, how do I set the color of my main widget (ie, the background)?
    • our existing UI shows buttons. The color of the buttons changes when hovered over, and changes again when pressed. Is this also handled through the palette? I can't find anything on this other than manually using signals to change the color, which seems a little extreme.

    Thanks...

    kshegunovK 1 Reply Last reply
    0
    • mzimmersM mzimmers

      I've been asked to add some color to my app, and am trying to understand how to do this.

      • Do I understand correctly that I should be using the palette property of the QWidget object, rather than trying to control colors on individual items?
      • as an example, how do I set the color of my main widget (ie, the background)?
      • our existing UI shows buttons. The color of the buttons changes when hovered over, and changes again when pressed. Is this also handled through the palette? I can't find anything on this other than manually using signals to change the color, which seems a little extreme.

      Thanks...

      kshegunovK Offline
      kshegunovK Offline
      kshegunov
      Moderators
      wrote on last edited by
      #2

      What OS is this? Because some systems doesn't use the palette for some of the painting and it's kind of messy. Alternatively, you could try to set a stylesheet to your app.

      Read and abide by the Qt Code of Conduct

      mzimmersM 1 Reply Last reply
      1
      • kshegunovK kshegunov

        What OS is this? Because some systems doesn't use the palette for some of the painting and it's kind of messy. Alternatively, you could try to set a stylesheet to your app.

        mzimmersM Offline
        mzimmersM Offline
        mzimmers
        wrote on last edited by
        #3

        @kshegunov I'm developing on Windows 10, but any solution needs to work across platforms. Does this mean I need to use stylesheets? Somehow, I had assumed that Qt would give me a little more control over this.

        A kshegunovK 2 Replies Last reply
        0
        • mzimmersM mzimmers

          @kshegunov I'm developing on Windows 10, but any solution needs to work across platforms. Does this mean I need to use stylesheets? Somehow, I had assumed that Qt would give me a little more control over this.

          A Offline
          A Offline
          alex_malyu
          wrote on last edited by alex_malyu
          #4

          @mzimmers
          If you want just colors - palette will work most of the time , at least for desktop systems,
          but you will have to test application on the system you want to support anyway.

          Stylesheets give additional controls (shapes, positioning, metc ) , but not all widgets and aspects can be customized.
          And this likely will not be ever fixed - due QWidget development status.
          In this case you will need customize QWidgets painting for the affected widgets.

          Warning! Palettes and stylesheet do not play together well, choose one or go QML and define everything yourself.

          mzimmersM 1 Reply Last reply
          2
          • A alex_malyu

            @mzimmers
            If you want just colors - palette will work most of the time , at least for desktop systems,
            but you will have to test application on the system you want to support anyway.

            Stylesheets give additional controls (shapes, positioning, metc ) , but not all widgets and aspects can be customized.
            And this likely will not be ever fixed - due QWidget development status.
            In this case you will need customize QWidgets painting for the affected widgets.

            Warning! Palettes and stylesheet do not play together well, choose one or go QML and define everything yourself.

            mzimmersM Offline
            mzimmersM Offline
            mzimmers
            wrote on last edited by
            #5

            @alex_malyu thanks for the input. I'll look through the examples to see if I can find anything similar to what I want to do, and probably come back with more questions.

            Is there an unofficial guideline for when to use CSS vs. palettes?

            Venkatesh VV 1 Reply Last reply
            0
            • mzimmersM mzimmers

              @kshegunov I'm developing on Windows 10, but any solution needs to work across platforms. Does this mean I need to use stylesheets? Somehow, I had assumed that Qt would give me a little more control over this.

              kshegunovK Offline
              kshegunovK Offline
              kshegunov
              Moderators
              wrote on last edited by
              #6

              @mzimmers said in use of colors/palettes:

              Does this mean I need to use stylesheets?

              Most probably, but someone might prove me wrong.

              Is there an unofficial guideline for when to use CSS vs. palettes?

              Not that I'm aware of. Perhaps you could try the wiki?

              Read and abide by the Qt Code of Conduct

              1 Reply Last reply
              2
              • mzimmersM mzimmers

                @alex_malyu thanks for the input. I'll look through the examples to see if I can find anything similar to what I want to do, and probably come back with more questions.

                Is there an unofficial guideline for when to use CSS vs. palettes?

                Venkatesh VV Offline
                Venkatesh VV Offline
                Venkatesh V
                wrote on last edited by
                #7

                Hi
                @mzimmers

                i would prefer you to use stylesheet for this as it provides you all the properties like button hover etc.
                for example
                button.setstylesheet("QPushButton{"
                "border: 1px solid #333333;"
                "color: rgb(212, 212, 212);"
                "font-size:10pt;"
                "Text-align:left;"
                "border-radius: 2px;"
                "background-color: #116a06;"
                "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.67, "
                "stop: 0 #444444, stop: 1 #222222);"
                "}"
                "QPushButton:pressed {"
                "border: 1px solid #333333;"
                "color: rgb(212, 212, 212);"
                "Text-align:left;"
                "background-color: #222222;"
                "background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.67, "
                "stop: 0 #444444, stop: 1 #222222);"
                "}";)

                1 Reply Last reply
                4
                • Venkatesh VV Offline
                  Venkatesh VV Offline
                  Venkatesh V
                  wrote on last edited by
                  #8

                  Hi @mzimmers

                  if you got solution, please mark it as solved.

                  mzimmersM 1 Reply Last reply
                  1
                  • Venkatesh VV Venkatesh V

                    Hi @mzimmers

                    if you got solution, please mark it as solved.

                    mzimmersM Offline
                    mzimmersM Offline
                    mzimmers
                    wrote on last edited by
                    #9

                    @Venkatesh-V I still need to do some more looking at palettes before I close this topic. Thanks for your contribution, though. It was very helpful.

                    1 Reply Last reply
                    1
                    • M Offline
                      M Offline
                      mostefa
                      wrote on last edited by
                      #10

                      Hi @mzimmers

                      For me ,i highly recommend you using stylesheet instead of palette ,

                      Stylesheet is really simple to use , and is more flexible if you want to other features , to the style of your UI.

                      You can also see what the Qt Doc says about that :

                      Style sheets let you perform all kinds of customizations that are difficult or impossible to perform using QPalette alone. If you want yellow backgrounds for mandatory fields, red text for potentially destructive push buttons, or fancy check boxes, style sheets are the answer.

                      mzimmersM 1 Reply Last reply
                      1
                      • M mostefa

                        Hi @mzimmers

                        For me ,i highly recommend you using stylesheet instead of palette ,

                        Stylesheet is really simple to use , and is more flexible if you want to other features , to the style of your UI.

                        You can also see what the Qt Doc says about that :

                        Style sheets let you perform all kinds of customizations that are difficult or impossible to perform using QPalette alone. If you want yellow backgrounds for mandatory fields, red text for potentially destructive push buttons, or fancy check boxes, style sheets are the answer.

                        mzimmersM Offline
                        mzimmersM Offline
                        mzimmers
                        wrote on last edited by
                        #11

                        @mostefa I think I'm going to do just that. I've been playing with stylesheets, and so far they meet my (modest) needs. Thanks.

                        1 Reply Last reply
                        1
                        • webzoidW Offline
                          webzoidW Offline
                          webzoid
                          wrote on last edited by
                          #12

                          I’ll add my two pence (or cents) and say that I’ve extensively used style sheets throughout my Qt Widgets application and the results have been excellent.

                          I’ve been able to successfully apply styles to 70% of the standard widgets with the other 30% needing just a little tweaking.

                          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