我使用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)无符号整数; 我无法在单元格中输入任何值。
不允许我在单元格中输入任何数字,因为QIntValidator的最大允许值是(2,147,483,647)有符号整数。
有没有其他方法可以解决这个问题?
答案 0 :(得分:1)
这是因为QIntValidtor
适用于int
,这是一个签名的整数。其他人有similar problem with QSpinbox
并且必须扩展其功能才能解决这个问题。
换句话说,您必须implement your own validator class。