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

QT 使用qtcreator编写第一个登录程序

2017-11-22 22:39 369 查看
今天我们使用QT 中的qtcreator编写第一个登录程序,具体步骤如下:

首先我们在vi 界面中使用qtcreator命令,进入creator 界面。

接着我们选择新建项目并设置文件路径和工程名字,其余默认(我们父窗口选择的是QDialog)

项目文件创建好了以后我们点击左侧项目文件中的.ui文件。编辑界面,效果如下:。



注:password的echomode 设置为 password  ,这样输入时不可见。

图形界面编辑好了以后我们来编写头文件和cpp文件。

先进行分析:

1.当我们点击Ok时,会对比用户名和密码是否正确,所以这里存在一个信号函数与槽函数。信号函数为我们点击ok产生的信号。槽函数为接受到该信号以后来进行用户名和账号的对比(这个函数我们自己来写)。

2.当我们点击cancel时,意味着取消登录,改程序直接结束。我们可以设置为当点击cancel时弹出窗口询问是否退出,是则退出,否则回到登录界面。

3.我们定义点击ok发送的信号为accepted(),对应槽函数为login_in();

  我们点击cancel按钮是发送的信号为rejected(),对应槽函数为login_out();

按上述编写头文件如下:

#ifndef LOGIN_H
#define LOGIN_H

#include <QDialog>

namespace Ui {
class login;
}

class login : public QDialog
{
Q_OBJECT

public:
explicit login(QWidget *parent = 0);
~login();
public slots:                   //新增
void login_in(void);	//新增
void login_out(void);	//新增

private:
Ui::login *ui;
};

#endif // LOGIN_H
新增的槽函数如以上代码:

接着我们编写.cpp文件

#include "login.h"
#include "ui_login.h"
#include <QMessageBox>
login::login(QWidget *parent) :
QDialog(parent),
ui(new Ui::login)
{
ui->setupUi(this);
connect(ui->buttonBox,SIGNAL(accepted()),this,SLOT(login_in()));
connect(ui->buttonBox,SIGNAL(rejected()),this,SLOT(login_out()));
}
void login::login_in(void){//登陆
if(ui->name_deit->text() == "haha" && ui->password_edit->text() == "123456"){//密码正确
QMessageBox msg1(QMessageBox::Information,windowTitle(),"login succeed!",QMessageBox::Ok,this);
if(msg1.exec() == QMessageBox::Ok){
close();
}
}else{//密码错误
QMessageBox msg3(QMessageBox::Information,windowTitle(),"login failed",QMessageBox::Ok,this);
msg3.exec();
}
}
void login::login_out(void){//退出
QMessageBox msg2(QMessageBox::Information,"login","Are you sure to quit",QMessageBox::Ok | QMessageBox::Cancel,this);
if(msg2.exec() == QMessageBox::Ok){
close();
}
}
login::~login()
{
delete ui;
}
最后运行结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt qtcreator