0%

QT_(八)-样式表

一、样式表

1.1、使用setStyleSheet,用引号括起来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
button->setStyleSheet(
"QPushButton {"
"background-image: url(%1);" // 初始背景图片
"background-position: center;"
"background-repeat: no-repeat;"
"color: white;" // 按钮文字颜色
"border: 2px solid #880000;" // 按钮边框颜色
"border-radius: 10px;" // 按钮圆角
"font-size: 16px;" // 按钮文字大小
"padding: 5px;" // 按钮内边距
"}"
"QPushButton:hover {"
"background-color: #ff6666;" // 鼠标悬停时的背景颜色
"}"
"QPushButton:pressed {"
"background-color: #cc0000;" // 按钮按下时的背景颜色
"}"
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
QPushButton* button = new QPushButton(this);
// 加载初始背景图片
QPixmap initialPixmap(initialImagePaths[i * 3 + j]);
if (!initialPixmap.isNull())
{
// 根据图片大小设置按钮大小
button->resize(initialPixmap.size());
button->setStyleSheet(
QString(
"QPushButton {"
"background-image: url(%1);" // 初始背景图片
"background-position: center;"
"background-repeat: no-repeat;"
"border: 0px;"
"}"
"QPushButton:pressed {"
"background-image: url(%2);" // 按下时的背景图片
"background-position: center;"
"background-repeat: no-repeat;"
"background-color: transparent;" // 保持背景透明
"}"
).arg(initialImagePaths[i * 3 + j]).arg(pressedImagePaths[i * 3 + j]) // 根据索引设置不同的图片路径
);
}

1.2、setStyleSheet,不使用引号

外层的样式包含内层的样式,单独的控件使用#限定

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// 设置对话框的样式表
this->setStyleSheet(R"(
QDialog#SettingsDialogClass {
background-color: #C0C0C0; /* 银灰色背景 */
border-left: 2px solid white;
border-top: 2px solid white;
}
QFrame {
background-color: #C0C0C0; /* 银灰色背景 */
}
QLabel {
font-family: 'Microsoft YaHei', sans-serif;
font-size: 14px;
color: #000000; /* 黑色字体 */
}
QLineEdit {
font-family: 'Microsoft YaHei', sans-serif;
font-size: 14px;
color: #000000; /* 黑色字体 */
background-color: #FFFFFF; /* 白色背景 */
border: 1px solid #000000; /* 黑色边框 */
padding: 1px; /* 内边距 */
}
QComboBox {
font-family: 'Microsoft YaHei', sans-serif;
font-size: 14px;
color: #000000; /* 黑色字体 */
background-color: #FFFFFF; /* 白色背景 */
border: 1px solid #000000; /* 黑色边框 */
padding: 2px; /* 内边距 */
}
QWidget#borderWidget {
border: 2px solid black; /* 外边框颜色 */
background-color: transparent;
}
QLabel#titleLabel {
font-size: 18px;
/*font-weight: bold;*/
background-color: #C0C0C0;
/*color: #C0C0C0;*/ /* 深灰色字体 */
/*background-color: transparent;*/ /* 确保背景透明 */
}
QPushButton {
background-color: #C0C0C0;
border-left: 2px solid white;
border-top: 2px solid white;
border-right: 2px solid black;
border-bottom: 2px solid black;
}
)");
-------------本文结束感谢您的阅读-------------