QComboBox选项置灰、不可选择、文本颜色(汉字颜色)

先介绍一下设置方法

// index项 设置为不可选择,index代表第几项,0 代表不可选(个人理解:QVariant::Invalid),-1为可以(个人理解:代表设置失败,恢复默认)
ui->combox->setItemData(index, QVariant(0), Qt::UserRole - 1);

// index项 设置背景置灰
ui->combox->setItemData(index, QBrush(QColor(192,192,192)), Qt::BackgroundRole);

// index项 设置字体黑色
ui->combox->setItemData(index, QBrush(QColor(Qt::black)), Qt::ForegroundRole);

// Linux下设置控件样式没有效果的解决方案
ui->combox->setStyleSheet("QComboBox{combobox-popup:0;}");

下面介绍一下ItemDataRole(即上述第三项)

一般用途的角色(和相关的类型)有:

常数描述
Qt::DisplayRole0以文本形式呈现的关键数据。(QString)
Qt::DecorationRole1将以图标形式呈现为装饰的数据。(QColor, QIcon或QPixmap)
Qt::EditRole2以适合在编辑器中编辑的形式出现的数据。(QString)
Qt::ToolTipRole3在项目的工具提示中显示的数据。(QString)
Qt::StatusTipRole4状态栏中显示的数据。(QString)
Qt::WhatsThisRole5在“What’s This?”模式下显示的数据。(QString)
Qt::SizeHintRole13将提供给视图的项的大小提示。(QSize)

描述外观和元数据(与相关类型):

常数描述
Qt::FontRole6用默认委托呈现的项目所用的字体。(QFont)
Qt::TextAlignmentRole7使用默认委托呈现的项目的文本对齐。(Qt::Alignment)
Qt::BackgroundRole8用于用默认委托呈现的项目的背景画笔。(QBrush)
Qt::BackgroundColorRole8这个角色已经过时了。使用BackgroundRole代替。
Qt::ForegroundRole9前景色刷(通常是文本颜色),用于用默认的委托呈现的项目。(QBrush)
Qt::TextColorRole9这个角色已经过时了。使用ForegroundRole代替。
Qt::CheckStateRole10此角色用于获取项的选中状态。(Qt::CheckState)
Qt::InitialSortOrderRole14此角色用于获取头视图部分的初始排序顺序。(Qt::SortOrder)。Qt 4.8中引入了这个角色。

可访问性角色(与相关类型):

常数描述
Qt::AccessibleTextRole11可访问性扩展和插件(如屏幕阅读器)所使用的文本。(QString)
Qt::AccessibleDescriptionRole12用于可访问性目的的项目描述。(QString)

用户角色:

常数描述
Qt::UserRole0x0100可用于特定于应用程序目的的第一个角色。对于用户角色,由开发人员决定使用哪种类型,并确保组件在访问和设置数据时使用正确的类型。
  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值