0

我需要一个小部件QComboBox,用户可以从弹出窗口中选择项目或直接在 linedit 中输入,但是如何防止输入超出 QComboBox 中项目的范围?还是 lineedit 中的文本输入总是合法的?
谢谢

4

1 回答 1

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

于 2013-03-13T03:59:09.893 回答