您的位置:首页 > 编程语言 > Qt开发

Qt 登陆界面实现

2017-08-14 08:49 253 查看
新项目要用到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//
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: