https://blog.csdn.net/bloke_come/article/details/108651775这个人写的不错
缺点是 没有恢复上一层的状态的操作
ui->combox->setItemData(index, QVariant(1|32), Qt::UserRole - 1); 恢复可以选中的状态
// 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;}");