我正在使用QTableWidget
输入用户定义工具的参数值。每个参数都有一个最大大小限制(以字节为单位)。
我使用QIntValidator
和QLineEdit
和setCellWidget
。
它最多可以处理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);
例子
我可以在单元格中输入最多65,535的值。
我能够在单元格中输入的值最大为2,147,483,647。
我无法在单元格中输入任何值。
不允许我在单元格中输入任何数字,因为QIntValidator的最大允许值为(2,147,483,647)个有符号整数。
是否有其他方法可以解决该问题?
最佳答案
这是因为QIntValidtor
与int
(带符号整数)一起使用。其他人使用了similar problem with QSpinbox
,必须扩展其功能才能解决此问题。
换句话说,您将不得不implement your own validator class。
关于c++ - QLineEdit:setValidator for 4bytes unsigned Integer不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32609274/