我需要来自QComboBox
的小部件,用户可以从弹出窗口中选择项目或直接在行间输入,但是如何防止输入超出QComboBox中的项目范围?或者在lineedit中输入的文本是否合法?
感谢
答案 0 :(得分:2)
请参阅QComboBox::setValidator(const QValidator*)
成员函数:
http://qt-project.org/doc/qt-4.8/qcombobox.html#setValidator
这允许您设置验证器以约束用户在组合框的行编辑中键入的任何输入。
Qt提供了三个验证器:QIntValidator
来限制输入到特定范围内的整数; QDoubleValidator
将输入限制在特定范围内的浮点值并具有指定的精度;和QRegExpValidator
约束对特定正则表达式的输入。如果您的验证需求更复杂,您也可以继承QValidator
并编写自己的验证,然后将其安装到组合框中。另见:http://qt-project.org/doc/qt-4.8/qvalidator.html