[Solved] Using variables in style sheets qss
Is there anyway that we can define a hex/rgb numbers to a variable and use them in our stylesheet(.qss) file . For eg
- myColor = #DFDFE0
This is required as there are many components in .qss file where i need to use the same hex value for color. So I was thinking that at the top of the stylesheet file i can define all the variable and use them as required. Also if i need to change the color then i have to change at one place and that will be reflected for all the components.
Thanks
11 replies
@miroslav
Can you give some examples about how can i use this in stylesheets(.qss) file , that will be really helpful. I have gone through the documentation [grantlee.org] but couldn’t understand much about how to use it.
Thanks for your time.
I am trying to run the book example provided in Grantlee repository [gitorious.org].
Dont know where i am going wrong, whenever i run the project i get the following errors
- 13:52:01: Running build steps for project books...
- 13:52:01: Configuration unchanged, skipping qmake step.
- 13:52:01: Starting: "C:\QtSDK\QtCreator\bin\jom.exe"
- C:\QtSDK\QtCreator\bin\jom.exe -nologo -j 4 -f Makefile.Debug
- jom 1.0.6 - empower your cores
- Error: dependent 'debug\bookwindow.moc' does not exist.
- command failed with exit code 2
- 13:52:02: The process "C:\QtSDK\QtCreator\bin\jom.exe" exited with code 2.
- Error while building project books (target: Desktop)
- When executing build step 'Make'
What steps should i follow to make this working.
Thanks.
You do not need a full-blown template library just to replace some text. If this fits your needs doing a simple QString::replace() does the trick as well.
- styleSheet.replace("myColor", "#DFDFE0");
- styleSheet.replace(...);
See also this [qt-project.org] thread.
I dont think stylesheets have support for that.
you can group rules together, not sure about the exact syntaxQPushButton QLabel QWidget { background-color: #DFDFE0 }
I just want to mention that this does not do what you expect it to do.
If you want to group several selectors you will have to use commas. QPushButton, QLabel, QWidget { background-color: #DFDFE0 }
Without commas, you are doing a descendant selection.
You must log in to post a reply. Not a member yet? Register here!






