QSS(Qt Style Sheets)是一种用于设置 Qt 界面样式的机制,类似于 CSS。通过使用 QSS,你可以在不修改代码的情况下改变界面的外观,包括字体、颜色、背景、边框等。
以下是一个示例代码,演示了如何使用 QSS 来设置部件的样式:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个窗口
QMainWindow mainWindow;
// 设置窗口标题
mainWindow.setWindowTitle("QSS 示例");
// 创建一个按钮
QPushButton *button = new QPushButton("按钮", &mainWindow);
// 设置按钮的样式
QString qss = "QPushButton {"
" background-color: green;"
" color: white;"
" font-size: 18px;"
" padding: 10px;"
"}";
button->setStyleSheet(qss);
mainWindow.show();
return app.exec();
}
在这个示例中,我们创建了一个名为 mainWindow
的 QMainWindow 对象,并设置了窗口的标题。然后,我们创建一个名为 button
的 QPushButton 对象,并将其设置为 mainWindow
的子部件。
接下来,我们使用 QSS 来设置按钮的样式。在 qss
字符串中,我们定义了一些样式规则,例如背景颜色、文字颜色、字体大小和内边距。使用 setStyleSheet()
函数,我们将 QSS 样式应用到按钮上。
通过这种方式,我们可以使用 QSS 来自定义部件的样式,实现界面的个性化外观。你可以根据需要自由修改 QSS 字符串中的样式规则,以适应你的设计需求。
代码样式:
- 设置背景颜色:
QWidget { background-color: red; }
- 设置前景颜色(文字颜色):
QLabel { color: blue; }
- 设置字体样式和大小:
QPushButton { font-family: Arial; font-size: 16px; font-weight: bold; }
- 设置文字对齐方式:
QLineEdit { text-align: center; }
- 设置边框样式和颜色:
QFrame { border-style: solid; border-width: 2px; border-color: #FF0000; }
- 设置圆角边框:
QPushButton { border-radius: 10px; }
- 设置盒模型内边距:
QGroupBox { padding: 10px; }
- 设置盒模型外边距:
QLineEdit { margin: 20px; }
- 设置部件的尺寸:
QLabel { width: 200px; height: 100px; }
- 设置背景图片:
QWidget { background-image: url(path/to/image.png); background-repeat: no-repeat; background-position: center; }
- 设置部件悬停、选中和禁用状态下的样式:
QPushButton:hover { background-color: yellow; } QPushButton:pressed { background-color: green; } QPushButton:disabled { background-color: gray; }
- 使用伪元素选择器设置特定部件的子元素样式:
QGroupBox::title { color: purple; }