我有一个QComboBox
相关联到其上的验证器:如何检查小部件值是否为“可接受”?
QComboBox* cb = new QComboBox;
// ...
cb->setValidator(new QDoubleValidator(0.0, 100.0, 2, this));
该插件被连接到当所输入的值被改变(currentTextChanged()
),其被执行的槽。
connect(cb, SIGNAL(currentTextChanged(QString)),
this, SLOT(onTextChanged(QString)));
在这种配置中,当onTextChanged()
验证器返回Acceptable
或Intermediate
被执行。只有当输入的值确实有效时,我如何才能执行插槽(Acceptable
)。或者,我如何检查onTextChanged()
插槽中的验证状态? (奇怪的是,我注意到,cb->validator()
似乎总是返回nullptr
。)
“我已经注意到le-> validator()参见ms总是返回nullptr“le或cb?您也可以将验证器指针保存在成员变量中。 –
@FrankOsterfeld问题已修复! – mimo
尝试将'QDoubleValidator'的父项设置为'QComboBox cb'而不是'this'。 – RedX