如何设置控件的disabled的颜色求解答

 我来答
乖浅中修小3882
2013-10-21 · TA获得超过365个赞
知道答主
回答量:124
采纳率:0%
帮助的人:127万
展开全部
使用QPalette类来实现;
使用qss来实现。
1.使用QPalette类来实现
以为QComboBox例子
QComboBox *m_pComboBox =new QComboBox;
QPalette palette=m_pComboBox -palette();
palette.setColor(QPalette ::Disabled,QPalette::Text,Qt::red);
m_pComboBox -setPalette(palette);
如此设置后:
当这个m_pComboBox被设置为Disable时候;(m_pComboBox-setEnabled(false);)
Text的颜色会变为红色。
如果你有大量的QComboBox需要设置出这个效果,不妨自己继承QComboBox做一个子类;
只需要修改构造函数,加入如下代码即可。
QPalette palette=this-palette();
palette.setColor(QPalette ::Disabled,QPalette::Text,Qt::red);
this-setPalette(palette);
2.使用qss来实现
如果不想继承QComboBox那么还可以使用qss来设置。
编写一个myqss.qss文件,其内容为:
QComboBox:disabled{color:red;}在main.cpp中加入如下代码:
QFile qss(myqss.qss);
qss.open(QFile::ReadOnly);
qApp-setStyleSheet(qss.readAll());这时候一样能达到以上效果
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式