【问题标题】:How to prevent user to input illegal text in QComboBox's lineedit?如何防止用户在 QComboBox qlineedit 中输入非法文本?
【发布时间】:2013-02-28 21:00:26
【问题描述】:

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

【问题讨论】:

    标签: qt qcombobox


    【解决方案1】:

    参考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

    【讨论】:

    • 谢谢!正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    相关资源
    最近更新 更多