0
我有一個lineEdit我使用,使用戶可以輸入一個頻率間隔,contoling的間隔在linedit爲整數
// 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,但較低的DOS不行。所以我創建了一個槽,以控制它,
// 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低一個數它得到一個警告對話框窗口。
但它似乎沒有工作。誰能幫我?
如果我使用textChanged它不會產生我想要的效果。 – SamuelNLP
想象我想要300.如果我把300的第3個,它會告訴我警告對話框,因爲3低於36 – SamuelNLP
QT 4.8.1,Ubuntu 12.04 LTS x86 – SamuelNLP