我工作的应用程序 GUI 需要一个组合框供用户选择项目。当应用程序启动时,组合框将显示类似于“请选择”的提示文本,而不是显示组合框的第一项。我在http://doc.qt.io/qt-5/qcombobox.html#currentText-prop 中找不到任何设置提示文本的方法。
预先感谢!
如果是,则有一个优雅的解决方案:QComboBoxeditable
myQComboBox->lineEdit()->setPlaceHolderText("Please select");
Run Code Online (Sandbox Code Playgroud)
QComboBoxES是不是editable没有QLineEditS IN他们,所以这不会对那些工作。
无法设置 的占位符文本QComboBox。但你可以解决这个问题。使用setEditText( const QString& )插槽来设置文本。如果用户在 中选择一个项目comboBox,则该项目的文本将被设置。但是,如果用户选择文本,删除它,然后选择其他控制元素(组合框失去焦点),您的文本将不再存在。可以通过继承QComboBox并重新实现来解决focusOutEvent(...),您可以在其中检查:if ( currentIndex() == -1 ) setEditText( tr( "Please select" ) );。并且不要忘记QComboBox::focusOutEvent(...)先打电话。
| 归档时间: |
|
| 查看次数: |
6113 次 |
| 最近记录: |