QT 使用qtcreator编写第一个登录程序
程序员文章站
2022-07-14 22:11:30
...
今天我们使用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;
}
最后运行结果如下:
推荐阅读
-
C++ 实验二 NO.1_(3) 1:熟悉DEV环境,练习自己的第一个程序使用DEV集成环境来编辑,运行简单的数据输入和运算实验。(3)编写一个程序,要求:提示输入3个数;显示这3个数,求他们的平均值
-
QT 使用qtcreator编写第一个登录程序
-
使用ARKit编写您的第一个增强现实应用程序
-
使用Idea编写第一个程序“HelloWorld”
-
Java入门基础(一):使用IDEA编写第一个HelloWorld程序
-
使用Eclipse编写第一个Hibernate程序
-
使用AndroidStudio编写第一个JNI程序方法
-
【Golang】1.初次接触Go和初次使用Goland编写运行第一个Helloworld程序以及Main file has non-main package or doesn‘t报错
-
使用QT编写ROS订阅、发布程序
-
使用AndroidStudio编写第一个JNI程序方法