QComboBox에 자리 표시 자 텍스트를 설정할 방법이 없습니다. 하지만이 문제를 해결할 수 있습니다. 텍스트를 설정하려면 setEditText(const QString&)
슬롯을 사용하십시오. 사용자가 comboBox에서 항목을 선택하면 항목의 텍스트가 설정됩니다. 그러나 사용자가 텍스트를 선택하고 삭제 한 다음 다른 컨트롤 요소를 선택하면 (콤보 상자가 포커스를 잃음) 텍스트가 더 이상 존재하지 않게됩니다. QComboBox
을 상속 받아 해결할 수 있으며 focusOutEvent(...)
을 다시 구현하면 if (currentIndex() == -1) setEditText(tr("Please select"));
을 확인할 수 있습니다. 그리고 먼저 QComboBox::focusOutEvent(...)
에 전화하는 것을 잊지 마십시오. 그들 QLineEdit
의가없는되지 editable
된다
myQComboBox->lineEdit()->setPlaceHolderText("Please select");
QComboBox
ES, 그래서 이것은 그들에 작동하지 않을 것입니다 :
Qt가 콤보 배너에서 큐 배너를 지원하는지 잘 모르겠습니다. 그러나 기본 Windows 컨트롤은 않습니다. ['CB_SETCUEBANNER' 메시지 보내기 (http://msdn.microsoft.com/en-us/library/bb775897.aspx). 기본이 아닌 위젯을 사용하는 데는 비용이 듭니다. –
답변 해 주셔서 감사합니다. 불행히도 내 응용 프로그램은 Linux OS에서 실행됩니다. – fucai1116