QComboBox 下拉菜单某行不显示

void hideComboBoxRow(QComboBox *combox,int nRow)
{
	if (NULL == combox) return;
	if (QStandardItemModel *m = qobject_cast(combox->model())) {
		QStandardItem *hiddenRoot = m->invisibleRootItem();
		//设置不显示
		hiddenRoot->child(nRow, 0)->setSizeHint(QSize(0, 0));
		//设置不可用
		hiddenRoot->child(nRow, 0)->setEnabled(false);
		//切换当前显示
		combox->setCurrentIndex(-1);
	}
}
//设置固定高度,防止下拉显示框缩小
combox->view()->setMinimumHeight(100);

你可能感兴趣的:(QComboBox 下拉菜单某行不显示)