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. Qt Widgets global stylesheet
Forum Updated to NodeBB v4.3 + New Features

Qt Widgets global stylesheet

Scheduled Pinned Locked Moved Solved General and Desktop
qtwidgetsstylesheet
8 Posts 4 Posters 13.6k Views 2 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.
  • T Offline
    T Offline
    Tikani
    wrote on 16 Sept 2017, 07:50 last edited by
    #1

    Does Qt allow to set stylesheets application-wide? It's very tedious to set them to each control by hand. It would be perfect if Qt allows to work with stylesheets like with an ordinary CSS - to write global selectors, make strict targeting with "id" attribute and so on.

    1 Reply Last reply
    0
    • M Offline
      M Offline
      mrjj
      Lifetime Qt Champion
      wrote on 16 Sept 2017, 07:51 last edited by mrjj
      #2

      Yes !
      And its also recommended to do so
      as setting on each widget becomes a mess.
      QApplication have method.
      http://doc.qt.io/qt-5/qapplication.html#styleSheet-prop

      and yes, it has selectors as ClassType, name etc

      T 1 Reply Last reply 16 Sept 2017, 08:05
      4
      • M mrjj
        16 Sept 2017, 07:51

        Yes !
        And its also recommended to do so
        as setting on each widget becomes a mess.
        QApplication have method.
        http://doc.qt.io/qt-5/qapplication.html#styleSheet-prop

        and yes, it has selectors as ClassType, name etc

        T Offline
        T Offline
        Tikani
        wrote on 16 Sept 2017, 08:05 last edited by
        #3

        @mrjj
        Ok, I understood that.
        Then I want to put a huge string literal that contains global stylesheet to project resources and pass it to the method you pointed above. Does Qt allow to move "hardcoded" strings to resources?

        M M 2 Replies Last reply 16 Sept 2017, 08:10
        0
        • T Tikani
          16 Sept 2017, 08:05

          @mrjj
          Ok, I understood that.
          Then I want to put a huge string literal that contains global stylesheet to project resources and pass it to the method you pointed above. Does Qt allow to move "hardcoded" strings to resources?

          M Offline
          M Offline
          mrjj
          Lifetime Qt Champion
          wrote on 16 Sept 2017, 08:10 last edited by mrjj
          #4

          @Tikani
          Yes, you can easy load a text file/stylesheet from resources. just use the special ":/" syntax and it just works
          Note that you must use QFile to load it.

          1 Reply Last reply
          2
          • T Tikani
            16 Sept 2017, 08:05

            @mrjj
            Ok, I understood that.
            Then I want to put a huge string literal that contains global stylesheet to project resources and pass it to the method you pointed above. Does Qt allow to move "hardcoded" strings to resources?

            M Offline
            M Offline
            mostefa
            wrote on 16 Sept 2017, 08:13 last edited by mostefa
            #5

            @Tikani said in Qt Widgets global stylesheet:

            @mrjj
            Ok, I understood that.
            Then I want to put a huge string literal that contains global stylesheet to project resources and pass it to the method you pointed above. Does Qt allow to move "hardcoded" strings to resources?

            I think that the best practise for qt stylesheet is to use a ressource file on the qt ressource file named stylesheet.qss for example,

            You stylesheet.qss will contain this for example:

            stylesheet.qss

            QWidget
            {
            background-color: red;
            }
            QPushButton
            {
            color: yellow;
            }
            and then on your application you have to do something like this:

            QFile File("stylesheet.qss");
            File.open(QFile::ReadOnly);
            QString StyleSheet = QLatin1String(File.readAll());
            
            qApp->setStyleSheet(StyleSheet);
            

            I hope this can help you !

            1 Reply Last reply
            2
            • T Offline
              T Offline
              Tikani
              wrote on 16 Sept 2017, 08:17 last edited by
              #6

              @mrjj, @mostefa
              Big thanks to both of you, I got the point.
              Marking as solved.

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mrjj
                Lifetime Qt Champion
                wrote on 16 Sept 2017, 09:28 last edited by mrjj
                #7

                Hi
                And for fooling around and testing you can do also do

                auto teststyle = R"(
                               QWidget
                               {
                               background-color: red;
                               }
                               QPushButton
                               {
                               color: yellow;
                               }
                               )";
                
                int main(int argc, char* argv[]) {
                  QApplication a(argc, argv);
                  a.setStyleSheet(teststyle);
                  MainWindow w;
                  w.show();
                  return a.exec();
                }
                (c++ 11 compiler)
                
                1 Reply Last reply
                0
                • G Offline
                  G Offline
                  GeminiMan
                  wrote on 27 Sept 2019, 12:25 last edited by
                  #8

                  If you want stylesheet ready for the use of qss in your application use this site:
                  https://qss-stock.devsecstudio.com

                  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