Using Style Sheets
Guitares supports Qt Style Sheets (QSS) for customizing the appearance of the application. QSS is a CSS-like language that controls colors, fonts, borders, padding, and other visual properties of Qt widgets.
Applying a stylesheet
Place a .qss file in your application directory and reference it from app.py:
class Application:
def __init__(self):
self.gui = GUI(self, config_file="myapp.yml",
stylesheet="Combinear.qss")
The path is relative to the config file location.
Example stylesheet
The Combinear.qss file included with several Guitares examples gives the application
a modern dark-panel look.
Here is a simplified version showing the most common customizations:
/* Main window and panels */
QMainWindow, QFrame, QDialog {
background-color: #2b2b2b;
color: #cccccc;
}
/* Push buttons */
QPushButton {
background-color: #3c3c3c;
color: #ffffff;
border: 1px solid #555555;
border-radius: 3px;
padding: 4px 10px;
}
QPushButton:hover {
background-color: #4a4a4a;
}
QPushButton:pressed {
background-color: #2a5a8a;
}
QPushButton:disabled {
color: #666666;
}
/* Edit boxes */
QLineEdit {
background-color: #1e1e1e;
color: #cccccc;
border: 1px solid #555555;
border-radius: 2px;
padding: 2px;
}
/* Dropdowns */
QComboBox {
background-color: #3c3c3c;
color: #cccccc;
border: 1px solid #555555;
}
/* Tab panels */
QTabWidget::pane {
border: 1px solid #555555;
}
QTabBar::tab {
background-color: #3c3c3c;
color: #aaaaaa;
padding: 4px 12px;
}
QTabBar::tab:selected {
background-color: #2a5a8a;
color: #ffffff;
}
Widget selectors
QSS uses the Qt widget class name as the selector. The most commonly styled widgets in Guitares applications are:
QSS selector |
Guitares element |
|---|---|
|
Push button, file chooser buttons |
|
Edit box |
|
Spin box |
|
Pop-up menu |
|
List box |
|
Check box |
|
Slider |
|
Tab panel |
|
Panel / frame |
|
Text and element labels |
|
Table view |
|
Date/time edit |
Using ID and class selectors
You can target specific widgets by their Qt object name if you set the id key in the YAML:
- style: pushbutton
id: run_button
text: Run
QPushButton#run_button {
background-color: #2a6a2a;
font-weight: bold;
}
Further reading
For a complete reference on Qt Style Sheets syntax and properties, see the Qt documentation on stylesheets.