【发布时间】:2013-02-28 21:00:26
【问题描述】:
我需要来自QComboBox 的小部件,用户可以从弹出窗口中选择项目或直接在 linedit 中输入,但是如何防止输入超出 QComboBox 中的项目范围?还是 lineedit 中的文本输入总是合法的?
谢谢
【问题讨论】:
我需要来自QComboBox 的小部件,用户可以从弹出窗口中选择项目或直接在 linedit 中输入,但是如何防止输入超出 QComboBox 中的项目范围?还是 lineedit 中的文本输入总是合法的?
谢谢
【问题讨论】:
参考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
【讨论】: