【问题标题】:QLineEdit : setValidator for 4bytes unsigned Integer not workingQLineEdit:4字节无符号整数的setValidator不起作用
【发布时间】:2015-12-13 01:55:05
【问题描述】:

我正在使用QTableWidget 输入用户定义工具参数的值。每个参数都有一个以字节为单位的最大大小限制。

我将QIntValidatorQLineEditsetCellWidget 一起使用。 它最多可以工作 4 字节有符号整数,而在设置为 4 字节无符号整数时不会进入。

  QLineEdit *edit = new QLineEdit(ui->tableWidget);
  edit->setValidator(new QIntValidator(tpMinValue.at(i).toUInt(), tpMaxValue.at(i).toUInt(), edit));
  edit->setStyleSheet("QLineEdit { border: none }");
  ui->tableWidget->setCellWidget((i-1), 2, edit);

示例

  1. 工具 A:最大大小为 2 字节 (65,535) 无符号整数; 我可以在单元格中输入高达 65,535 的值。

  2. 工具 B:最大大小为 4 字节 (2,147,483,647) 有符号整数; 我可以在单元格中输入最多 2,147,483,647 的值。

  3. 工具 C:最大大小为 4 字节 (4,294,967,295) 无符号整数; 我无法在单元格中输入任何值

不允许我在单元格中输入任何数字,因为 QIntValidator 的最大允许值为 (2,147,483,647) 有符号整数。

有没有其他方法可以解决这个问题?

【问题讨论】:

    标签: c++ qt qtablewidget qlineedit


    【解决方案1】:

    这是因为QIntValidtorint 一起工作,这是一个有符号 整数。其他人有一个 similar problem with QSpinbox 并且必须扩展它的功能来解决这个问题。

    换句话说,你将不得不implement your own validator class

    【讨论】:

      猜你喜欢
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      • 2011-04-06
      • 2014-03-27
      • 2011-12-11
      • 2012-04-15
      相关资源
      最近更新 更多