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();
按上述编写头文件如下:
接着我们编写.cpp文件
首先我们在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; }最后运行结果如下:
相关文章推荐
- 使用QtCreator编写Qt程序教程
- 编写你的第一个Hibernate程序 (在Hibernate中使用oracle的sequence产生主键 )
- 我的第一个Qt程序:使用Qt creator和Qt designer完成"HelloWorld"和计算圆面积的程序设计
- 我的第一个Qt程序:使用Qt creator和Qt designer完成"HelloWorld"和计算圆面积的程序设计
- 简单使用Eclipse编写第一个Java程序
- Windows下如何使用QT编写dll程序
- 解决Tslib移植之后自己编写的QT程序不能使用触屏的问题
- 使用Playground编写第一个Swift程序
- 【跟我一起开辟Qt之路】(3)编写我们第一个Qt程序Hello World
- 使用Playground编写第一个Swift程序
- 简单使用Eclipse编写第一个Java程序
- 使用VS2008编写了第一个WM5短信发送程序!
- Windows下如何使用QT编写dll程序
- windows下如何使用QT编写dll程序
- 在Win7上使用QtCreator开发Qt for Android程序
- windows下如何使用QT编写dll程序 .
- qtday01 ubuntu 下手动编写第一个qt程序
- Windows下如何使用QT编写dll程序
- Qt 不使用Qt Designer纯代码编写界面程序(初学者)总结
- 使用Qt编写服务器端程序(包括Http传输服务器端)的方法