Qt 設置只能輸入英文和數字

頭文件 

//.h文件

#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 Q_SLOTS:
    void slotCheckBoxState(bool);

private:
    Ui::Dialog *ui;
};

#endif // DIALOG_H

源文件

#include "dialog.h"
#include "ui_dialog.h"
#include <QRegExpValidator>

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    //設置密碼隱藏
    ui->lineEditPasswd->setEchoMode(QLineEdit::Password);

    //設置只能輸入數字和英文,使用正則表達式
    QRegExpValidator *pRevalidotor = new QRegExpValidator(QRegExp("[a-zA-Z0-9]{25}"), this);
    ui->lineEditPasswd->setValidator(pRevalidotor);

    connect(ui->checkBox,&QCheckBox::toggled,this,&Dialog::slotCheckBoxState);
}

Dialog::~Dialog()
{
    delete ui;
}

void Dialog::slotCheckBoxState(bool check)
{
    if(check)
    {
        ui->lineEditPasswd->setEchoMode(QLineEdit::Normal);
    }
    else
    {
        ui->lineEditPasswd->setEchoMode(QLineEdit::Password);
    }
}

運行截圖 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章