我有QSpinBox
它应该只取奇数,所以我将初始值设置为 3 并设置为 2。
QSpinBox* spinBox = new QSpinBox;
spinBox->setValue(3);
spinBox->setSingleStep(2);
当我使用旋转框箭头修改值时,一切正常。但是当我从键盘输入值时,它不能取奇数。
那么是否可以在不继承QSpinBox
和重新定义其validate
方法的情况下设置满足我要求的验证?
如果值是奇数,我当前的解决方案是检查插槽:
void MyWidget::slotSetSpinBoxValue(int value)
{
if(value%2 != 0)
{
//call function which takes only odd values
}
else
{
//here I want to show some kind off message that value can only be odd
//call function with --value parameter
}
}
第二个问题是如何显示一些提示QSpinBox
?我想显示像工具提示一样的提示,并显示QSpinBox
值应该是奇数的消息。我在其中找到statusTip
了属性,QWidget
但找不到如何使用它的示例。