如何防止用户在QComboBox中输入非法文本qlineedit?

时间:2013-03-13 03:37:48

标签: qt qcombobox

我需要来自QComboBox的小部件,用户可以从弹出窗口中选择项目或直接在行间输入,但是如何防止输入超出QComboBox中的项目范围?或者在lineedit中输入的文本是否合法? 感谢

1 个答案:

答案 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