gpt4 book ai didi

c++ - QLineEdit : setValidator for 4bytes unsigned Integer not working

转载 作者:行者123 更新时间:2023-11-30 03:49:21 27 4
gpt4 key购买 nike

我正在使用 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) 有符号整数。

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

最佳答案

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

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

关于c++ - QLineEdit : setValidator for 4bytes unsigned Integer not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32609274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com