Parece que el caso no se anticipó en la API del cuadro combinado. Pero con la flexibilidad del modelo subyacente parece que debería ser capaz de añadir su --Seleccionar País-- como primer elemento "legítimo", y luego evitar que sea seleccionable por el usuario:
QStandardItemModel* model =
qobject_cast<QStandardItemModel*>(comboBox->model());
QModelIndex firstIndex = model->index(0, comboBox->modelColumn(),
comboBox->rootModelIndex());
QStandardItem* firstItem = model->itemFromIndex(firstIndex);
firstItem->setSelectable(false);
Dependiendo de lo el comportamiento preciso que desea, es posible que desee utilizar setEnabled
en su lugar. O yo personalmente prefiero que si era sólo un elemento de color diferente que podría configurar de nuevo a:
Qt, How do I change the text color of one item of a QComboBox? (C++)
(No me gusta cuando hago clic en algo y luego quedan atrapados a en el que no pueda volver donde estaba, incluso si se trata de un-todavía-estado seleccionado nada-!)
Excelente! Aparentemente hay una parte de Qt que no he tocado, lo que me parece muy útil para la personalización. De la pregunta SO a la que se vinculó, cambiar el color de fondo hace que se vea muy bien, y probablemente sea mejor de lo que había imaginado originalmente. firstItem-> setData (Qt :: lightGray, Qt :: BackgroundRole); (No me importaría si agregaste esto a tu respuesta). – swalog
@EXIT_FAILURE Creo que su comentario cubre su alternativa, ya que no lo he probado, así que no sé si me gustaría. :) Pero sí, Qt ofrece algo de originalidad, si todos nos atacamos, tal vez podamos detener GTK y wxWidgets. : -/http://stackoverflow.com/questions/7545804/modeless-parentless-wxdialog-still-always-above-wxframe-window-in-z-order/ – HostileFork