[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
QPushButton { background-color: myColor; }@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
-
I dont think stylesheets have support for that.
you can group rules together, not sure about the exact syntaxQPushButton QLabel QWidget { background-color: #DFDFE0 }
-
-
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":http://www.grantlee.org/apidox/for_themers.html 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":http://gitorious.org/grantlee.
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\desktop\qt\4.8.0\msvc2010\bin\qmake.exe -spec ......\QtSDK\Desktop\Qt\4.8.0\msvc2010\mkspecs\win32-msvc2010 CONFIG+=declarative_debug -o Makefile ..\books\books.pro
C:\QtSDK\QtCreator\bin\jom.exe -nologo -j 4 -f Makefile.Debugjom 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.
@
QPushButton { background-color: myColor; }QString styleSheet = ...;
styleSheet.replace("myColor", "#DFDFE0");
styleSheet.replace(...);
@See also "this":http://qt-project.org/forums/viewthread/18686/ thread.
-
[quote author="pritamghanghas" date="1338889298"]I dont think stylesheets have support for that.
you can group rules together, not sure about the exact syntaxQPushButton QLabel QWidget { background-color: #DFDFE0 }[/quote]
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. <code>QPushButton, QLabel, QWidget { background-color: #DFDFE0 }</code>
Without commas, you are doing a descendant selection.