欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

程序员文章站 2022-05-30 23:13:08
...

Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

一. 通过修改样式表实现显示

1.未修改展示

未修改的disabled样式,文字显示会变成灰色:
Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

2.修改过程

进入ui界面,右键选中需要修改的控件,选择改变样式表Qt Creator 修改Enable 0(Disable 1)后控件的显示效果
在里面输入控件的类型,然后如下所示输入:
例如QLabel,就输入QLabel::disabled{color:rgb(0,0,0);}即可改变Disabled后的显示样式Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

3.显示效果如下所示:

Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

二. 使用.qss文件批量处理

  • 该方法适用批量处理,优先级低于第一种方法

1.生成.qss文件

注意大小写一定要一致Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

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未修改效果图Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

  • Disabled修改后效果图
    Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

三.拓展

这里只是展示了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;
}

显示效果如下:

Qt Creator 修改Enable 0(Disable 1)后控件的显示效果

相关标签: Qt creator qt