일반 QComboBox
에 항목이 채워진 경우 currentIndex
을 -1
으로 설정하면 위젯이 비어 있습니다. 드롭 다운 목록에 표시되지 않는 초기 설명 텍스트를 콤보 상자에 표시하는 것이 좋습니다 (예 : "- 국가 선택 -", "- 주제 선택"등).QComboBox에서 선택할 수없는 기본 텍스트를 설정하는 방법은 무엇입니까?
문서에서 아무 것도 찾을 수 없으며 이전 질문과 대답이 없습니다.
일반 QComboBox
에 항목이 채워진 경우 currentIndex
을 -1
으로 설정하면 위젯이 비어 있습니다. 드롭 다운 목록에 표시되지 않는 초기 설명 텍스트를 콤보 상자에 표시하는 것이 좋습니다 (예 : "- 국가 선택 -", "- 주제 선택"등).QComboBox에서 선택할 수없는 기본 텍스트를 설정하는 방법은 무엇입니까?
문서에서 아무 것도 찾을 수 없으며 이전 질문과 대답이 없습니다.
콤보 상자 API에서 예상 된 것으로 보이지 않습니다. 그러나 기본 모델의 유연성 당신이 첫 번째 "합법적"항목으로 당신의 --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, How do I change the text color of one item of a QComboBox? (C++)
(I가 갇혀 얻을 무언가를 클릭 할 때 나는 그것을 좋아하지 않아 아무 것도 선택하지 않은 상태에서도 내가 어디 있었는지 되돌릴 수없는 곳)
우수! Qt의 일부는 분명히 만져 보았습니다. 사용자 지정에 매우 유용합니다. 연결된 SO 질문에서 배경색을 변경하면 원래 모양보다 훨씬 멋지게 보이게됩니다. 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