Qt 登陆界面实现

简介:

新项目要用到Qt,所以最近研究Qt,昨天安装好部署好Qt Creator现在马上开始第一个程序。

做一个简单的登陆界面功能

效果图如下

代码部分

复制代码
#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;

}
复制代码
复制代码
#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
复制代码

复制代码
#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();
}
复制代码

代码很简单实现基本功能



本文转自夜&枫博客园博客,原文链接:http://www.cnblogs.com/newstart/archive/2012/12/29/2838658.html,如需转载请自行联系原作者

相关文章
|
5月前
|
Linux
QT桌面(实现界面的滑动切换)
QT桌面(实现界面的滑动切换)
85 0
|
2月前
|
编译器
QT creator开发环境下 界面更改后运行程序不能实时更新或者在源文件添加该控件后无法编译的问题
在使用QT Creator开发界面的过程中,偶尔会出现添加控件后,运行程序后,界面控件无法更新的情况,或者在源文件使用该控件却出现无法编译的情况,使用QT Creator 4.8.2也会出现这个情况,也不知道这种情况会不会在以后有所改善。
21 0
|
24天前
|
容器
QT基础入门——界面布局和常用控件(四)
QT基础入门——界面布局和常用控件(四)
20 0
QT基础入门——界面布局和常用控件(四)
|
2月前
|
数据安全/隐私保护
Qt6学习笔记六(界面布局)
Qt6学习笔记六(界面布局)
22 0
|
3月前
qt-两个界面传值交互
qt-两个界面传值交互
23 0
|
4月前
|
C++
《QT从基础到进阶·二十五》界面假死处理
《QT从基础到进阶·二十五》界面假死处理
45 0
《QT从基础到进阶·二十五》界面假死处理
|
4月前
|
缓存
《QT从基础到进阶·二十二》QGraphicsView显示大量图形项item导致界面卡顿的解决办法
《QT从基础到进阶·二十二》QGraphicsView显示大量图形项item导致界面卡顿的解决办法
109 0
|
4月前
|
C++
c++搭建的车道线和路牌的识别系统 使用qt界面
c++搭建的车道线和路牌的识别系统 使用qt界面
18 0
|
5月前
|
容器
嵌入式 QT多界面切换
嵌入式 QT多界面切换
|
5月前
|
数据可视化 容器
嵌入式 QT 界面布局管理
嵌入式 QT 界面布局管理