QLineEdit进行错误提示用的是:
void QLineEdit::textEdited(const QString &text)
void QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w, const QRect &rect)
效果图如下:
比如设置取值范围是0-3000,若是不在其范围内,会进行提示取值范围.
void SingleStepDepletion::on_TemperatureLineEdit_textEdited(const QString ¤tText)
{
//setValidator提供了一个确保一个字符串包含一个在一定有效范围内的整数的验证器
ui->TemperatureLineEdit->setValidator(new QDoubleValidator(0, 3000, 2));
if(currentText.toDouble() < 0 || currentText.toDouble() > 3000)
{
// 错误提示
QToolTip::showText(ui->TemperatureLineEdit->mapToGlobal(QPoint(100, 0)), “范围应该是0-3000”);
// 设置LineEdit变为红色
ui->TemperatureLineEdit->setStyleSheet("QLineEdit{border:1px solid red }");
}
else
{
// LineEdit恢复之前的状态
ui->TemperatureLineEdit->setStyleSheet("QLineEdit{border:1px solid gray border-radius:1px}");
}
}