本文主要是介绍disable QComboBox中的item及修改其颜色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天有需要用到disable QComboBox中某些item,本以为这些应该有直接调用的简单方法,结果找了好久都没有找到,只好求助bing,最终得以解决。
代码如下:
class CComboxOperator : public QComboBox
{
public:CComboxOperator(QComboBox *parent = 0);~CComboxOperator();
};CComboxOperator::CComboxOperator(QComboBox *parent) : QComboBox(parent)
{QStringList qlstrOperator;qlstrOperator << QString(" ") << QString("==") << QString("!=") << QString(">") << QString(">=") << QString("<=") << QString("<");addItems(qlstrOperator);setItemData(3, 0, Qt::UserRole - 1); // disable item 3setItemData(1, Qt::red, Qt::TextColorRole); // set item 1 "==" redsetItemData(2, Qt::yellow, Qt::BackgroundColorRole); // set item 2 background yellowsetItemData(3, Qt::lightGray, Qt::BackgroundColorRole);
}
效果图:
图中“>”不能选中。
void setItemData(int index, const QVariant &value, int role = Qt::UserRole);
......WhatsThisPropertyRole = 31,// ReservedUserRole = 32
这篇关于disable QComboBox中的item及修改其颜色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!