コンボボックスAPIで予想されているようには見えません。しかし、あなたが最初の「正当な」アイテムとしてごを選びなさい - 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, How do I change the text color of one item of a QComboBox? (C++)
:それは私が戻ってそれを設定することができ、単に異なる色のアイテムだった場合や、私は個人的にそれを好みますどこにいなくても、私がどこにいたとしても戻れない!)
優秀!明らかに私は触れていないQtの一部ですが、これはカスタマイズに非常に便利です。あなたがリンクしているあなたの質問から、背景の色を変えると、私は元々想像していたものよりも非常に良く見えます。 firstItem-> setData(Qt :: lightGray、Qt :: BackgroundRole); (これをあなたの答えに加えても大丈夫です)。 – swalog
@EXIT_FAILURE私はそれを試していないのであなたのコメントは私がそれを好きかどうかわからないので、あなたのコメントはあなたの選択肢をカバーすると思います。 :)しかし、はい、Qtはいくつかの独創性を提供しています。もし私たち全員がギャングアップすれば、GTKとwxWidgetsを止めることができます! : -/http://stackoverflow.com/questions/7545804/modeless-parentless-wxdialog-still-always-above-wxframe-window-in-z-order/ – HostileFork