我使用 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);
例子
-
工具A:最大大小为2个字节(65,535)无符号整数;我能够在单元格中输入高达65,535的值 .
-
工具B:最大大小为4字节(2,147,483,647)有符号整数;我能够在单元格中输入最多2,147,483,647的值 .
-
工具C:最大大小为4字节(4,294,967,295)无符号整数;我在牢房里是 unable to enter any value .
它不允许我在单元格中输入任何数字,因为QIntValidator的最大允许值是(2,147,483,647)有符号整数 .
有没有其他方法可以解决这个问题?
1 回答
这是因为
QIntValidtor
适用于int
,这是一个有符号整数 . 其他人有similar problem with QSpinbox并且必须扩展其功能才能解决这个问题 .换句话说,你将不得不implement your own validator class .