Qt 登陸界面實現


新項目要用到Qt,所以最近研究Qt,昨天安裝好部署好Qt Creator現在馬上開始第一個程序。

做一個簡單的登陸界面功能

效果圖如下

代碼部分

View Code
#include <QtGui/QApplication>
#include "mainwindow.h"
#include "LoginDlg.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w; //主界面

    LoginDlg login; //登陸界面
    if(login.exec()==QDialog::Accepted)
    {
         w.show();
         return a.exec();
    }
    else return 0;

}
View Code
#ifndef LOGINDLG_H
#define LOGINDLG_H

#include <QDialog>

namespace Ui {
    class LoginDlg;
}

class LoginDlg : public QDialog {
    Q_OBJECT
public:
    LoginDlg(QWidget *parent = 0);
    ~LoginDlg();

protected:
    void changeEvent(QEvent *e);

private:
    Ui::LoginDlg *ui;

private slots:
    void on_pushButton_2_clicked();
    void on_pushButton_clicked();
};

#endif // LOGINDLG_H

View Code

#include "logindlg.h"
#include "ui_logindlg.h"
#include "QMessageBox.h"
#include "QTextCodec.h"
LoginDlg::LoginDlg(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::LoginDlg)
{
    ui->setupUi(this);
}

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

void LoginDlg::changeEvent(QEvent *e)
{
    QDialog::changeEvent(e);
    switch (e->type()) {
    case QEvent::LanguageChange:
        ui->retranslateUi(this);
        break;
    default:
        break;
    }
}

void LoginDlg::on_pushButton_clicked()
{
  if(this->ui->txtname->text().trimmed()== tr("admin") &&
     this->ui->txtpwd->text().trimmed()==tr("admin"))
  {
      accept();
  }
  else
  {
      QTextCodec::setCodecForTr( QTextCodec::codecForName("GBK") );
      QMessageBox::warning(this,tr("警告"),tr("用戶名或密碼錯誤!"),QMessageBox::Yes);
      this->ui->txtname->clear();
      this->ui->txtpwd->clear();
      this->ui->txtname->setFocus();
  }
}

void LoginDlg::on_pushButton_2_clicked()
{
    this->close();
}

代碼很簡單實現基本功能


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM