如何设置控件的disabled的颜色

来源:互联网 发布:知否上映时间 编辑:程序博客网 时间:2024/04/28 08:14

           如何设置控件的disabled的颜色

控制控件的disable的颜色有以下方法:

  1. 使用QPalette类来实现;
  2. 使用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());qss.close();
这时候一样能达到以上效果



原创粉丝点击