我有一个我使用的 lineEdit,因此用户可以输入频率间隔,
// Making the lineedit objects only accept numbers and align it leftside
ui->frequency->setValidator(new QIntValidator(36, 1000, this));
ui->frequency->setAlignment(Qt::AlignRight);
它可以正常工作到上限 1000,但下限不能。所以我创建了一个插槽来控制它,
// Control freqeuncy interval
void gui::f_interval()
{
QString f = ui->frequency->text();
freq = f.toInt();
if (freq < 36)
{
int status = QMessageBox::warning(this,"Warning","Invalid frequency interval",QMessageBox::Ok);
}
}
并将其连接到 lineEdit 的信号,
// Control frequency interval
connect(ui->frequency, SIGNAL(editingFinished()), this, SLOT(f_interval()));
这样当用户输入一个低于 36 的数字时,它会收到一个警告对话框窗口。
但这似乎不起作用。谁能帮我?