我有一個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