1、在頭文件的類聲明中加入槽
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
private:
Ui::Dialog *ui;
private slots://輸入內容改變槽
void on_lineEdit_textChanged();
};
#endif // DIALOG_H
2、在源文件中構造函數中添加代碼
#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
//以下爲添加代碼
QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
//只允許第一個字元輸入大小寫英文字母,後面接一位非零的數字,再接0-2位可爲0的數字
ui->lineEdit->setValidator(new QRegExpValidator(regExp,this));
connect(ui->okButton,SIGNAL(clicked()),this,SLOT(accept()));
connect(ui->cancelButton,SIGNAL(clicked()),this,SLOT(reject()));
}
//實現槽函數,根據lineEdit中輸入的文字是否有效來啓用或停用OK按鈕,
void Dialog::on_lineEdit_textChanged()
{
ui->okButton->setEnabled(ui->lineEdit->hasAcceptableInput());
}
Dialog::~Dialog()
{
delete ui;
}