Qt Creator 修改Enable 0(Disable 1)后控件的显示效果
程序员文章站
2022-05-30 23:13:08
...
Qt Creator 修改Enable 0(Disable 1)后控件的显示效果
一. 通过修改样式表实现显示
1.未修改展示
未修改的disabled样式,文字显示会变成灰色:
2.修改过程
进入ui界面,右键选中需要修改的控件,选择改变样式表
在里面输入控件的类型,然后如下所示输入:
例如QLabel,就输入QLabel::disabled{color:rgb(0,0,0);}即可改变Disabled后的显示样式
3.显示效果如下所示:
二. 使用.qss文件批量处理
- 该方法适用批量处理,优先级低于第一种方法
1.生成.qss文件
注意大小写一定要一致
2.添加进代码里
#include <QtGui/QApplication>
#include "mainwindow.h"
#include "QFile"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
// .qss修改样式
QFile styleSheet("./MyStyle.qss");
styleSheet.open(QIODevice::ReadOnly);
a.setStyleSheet(styleSheet.readAll());
styleSheet.close();
// .qss修改样式
return a.exec();
}
3.编译查看效果
-
Disabled未修改效果图
-
Disabled修改后效果图
三.拓展
这里只是展示了color的修改,样式表相关的内容都可以使用这种方式进行修改
示例:
/* QLabel在ensabled的样式 */
QLabel {
border: 0px solid #298DFF; /* 无边框 */
border-radius: 10px; /* 边框圆角 */
background-color: #F2F2F2; /* 背景颜色 */
color: #298DFF; /* 文本颜色 */
font-family: "Microsoft YaHei"; /* 文本字体族 */
font-size: 15pt; /* 文本字体大小 */
}
/* QLabel在disabled的样式 */
QLabel:disabled {
border: 1px solid #FFF;
background-color: #EEE;
color: #B4B4B4;
}