Ответ 1
Не похоже, что в API Combo Box ожидался случай. Но с базовой гибкостью модели кажется, что вы должны добавить свою --Select Country - как первый "законный" элемент, а затем не позволять пользователю выбирать:
QStandardItemModel* model =
qobject_cast<QStandardItemModel*>(comboBox->model());
QModelIndex firstIndex = model->index(0, comboBox->modelColumn(),
comboBox->rootModelIndex());
QStandardItem* firstItem = model->itemFromIndex(firstIndex);
firstItem->setSelectable(false);
В зависимости от того, какое точное поведение вы хотите, вместо этого вы можете использовать setEnabled
. Или я лично предпочел бы это, если бы это был просто другой элемент цвета, на который я мог бы установить его обратно:
Qt, Как изменить цвет текста одного элемента QComboBox? (С++)
(Мне не нравится, когда я нажимаю на что-то, а затем попадаю в ловушку туда, где я не могу вернуться туда, где я был, даже если это ничего не выбрано-еще-состояние!)