【问题标题】:QLineEdit to accept only one character/digitQLineEdit 只接受一个字符/数字
【发布时间】:2014-06-10 19:12:26
【问题描述】:

我想要一个只接受字符或数字的QLineEdit。是否有可能像在 html 中一样将其设置为具有 maxlength 的输入?我的意思是从QLineEdit 的构造函数中做到这一点?

我不需要复杂的东西......

【问题讨论】:

    标签: qt qlineedit


    【解决方案1】:

    一切都如您所愿。 QLineEdit 具有 maxLength 属性。您可以使用属性系统或使用 setter 方法设置它:

    QLineEdit le;
    le.setMaxLength(1);
    

    就是这样。

    【讨论】:

    • 不可能!非常感谢 ! :)
    【解决方案2】:

    我不需要复杂的...

    不幸的是,它不能被称为简单的解决方案,但应该告知您QRegExpValidator

    使用示例:

    #include <QRegExpValidaor>
    #include <QLineEdit>
    ...
    ...
    QRegExp rx ("\\w");
    QRegExpValidator * v = new QRegExpValidator (rx, this);
    QLineEdit * le = new QLineEdit (this);
    le->setValidator (v);
    

    【讨论】:

    • 我希望有一种方法可以减少 QLineEdit 中的书写空间……它看起来更优雅。
    • 我对Qt不是很熟悉,所以可能存在更优雅的方式。
    • 感谢您的使用示例!如果我找不到其他方法,我会使用它。
    【解决方案3】:

    以下是将行编辑输入限制为一个字符/数字的另一种方法:

    QLineEdit le;
    le.setInputMask("N");
    le.show();
    

    有关输入掩码使用的更多详细信息,请参阅Qt documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-27
      • 2021-07-21
      • 2016-07-01
      • 2016-01-02
      • 2017-09-14
      • 2012-11-05
      • 2020-12-02
      • 1970-01-01
      相关资源
      最近更新 更多