QT-VS2013 为主窗口新增登录窗口

运行环境:

 QT5.7.1、vs2013、win10-64bit

 

1 在已经存在主窗口时,创建一个新的登录窗口

    vs2013菜单->项目->Add Qt Class...

    在弹出窗口选择GUI窗口类“Qt GUI Class”,类名改为“loginWindow”,之后点击Add->next->finish

    项目列表中新增加“loginWindow.ui”“ui_loginWindow.h”“loginWindow.h”“loginWindow.cpp”

 

2 打开“loginWindow.ui”文件,进入QT设计器界面

    窗体名字改为“登录界面”

    添加label,属性objectName改为“main_label”,属性text改为“图像识别测流系统”

    添加label,属性objectName改为“name_label”,属性text改为“用户名:”

    添加label,属性objectName改为“password_label”,属性text改为“密码:”

    添加QlineEdit,属性objectName改为“name_text”

    添加QlineEdit,属性objectName改为“pwd_text”

    添加button,属性objectName改为“loginButton”,属性text改为“登录”

    添加button,属性objectName改为“cnacelButton”,属性text改为“取消”

   

 

3 QT设计器界面,编辑信号和槽,添加“登录”和“取消”两个按钮的槽函数

 

4 进入vs2013,编辑源代码

main.cpp

1)添加 头文件#include"loginwindow.h"

2)屏蔽主窗口,增加登录窗口

//QtGuitest1 w; //定义并创建主窗口

//w.show();//显示主窗口

loginwindow lw; //定义并创建登录窗口

lw.show();//显示登录窗口

main.cpp 源码

#include"loginwindow.h"//登录窗口
#include "QtGuitest1.h"//主窗口

// QApplication应用程序类,使用图形应用程序必须使用QApplication 对象
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);//定义并创建应用程序

	//QtGuitest1 w; //定义并创建主窗口
	//w.show();//显示主窗口
	loginwindow lw; //定义并创建登录窗口
	lw.show();//显示登录窗口

    return a.exec();//应用程序运行
}

loginwindow.h

1)添加头文件

#include "QtGuitest1.h"//主窗口

#include<QLineEdit>

#include<QMessageBox>

2)定义主窗口QtGuitest1 w;   //定义并创建主窗口

3)添加槽函数声明

private slots:

       void loginbt_clicked();       //登录

       void cancleloginbt_clicked(); //取消

loginwindow.h源码

#pragma once

#include <QWidget>
#include "ui_loginwindow.h"

#include "QtGuitest1.h"//主窗口
#include<QLineEdit>
#include<QMessageBox>


class loginwindow : public QWidget
{
	Q_OBJECT

public:
	loginwindow(QWidget *parent = Q_NULLPTR);
	~loginwindow();

private:
	Ui::loginwindow ui;
	QtGuitest1 w;   //定义并创建主窗口

private slots:
	void loginbt_clicked();       //登录
	void cancleloginbt_clicked(); //取消
};

 

loginwindow.cpp

1)密码栏输入为星号

ui.pwd_text->setEchoMode(QLineEdit::Password);//密码显示为星号

2)登录按钮槽函数定义void loginwindow::loginbt_clicked()

2)取消按钮槽函数定义void loginwindow::cancleloginbt_clicked()

loginwindow.cpp源码

#include "loginwindow.h"

loginwindow::loginwindow(QWidget *parent)
	: QWidget(parent)
{
	ui.setupUi(this);

	ui.pwd_text->setEchoMode(QLineEdit::Password);//密码显示为星号
}

loginwindow::~loginwindow()
{
}

//登录按钮
void loginwindow::loginbt_clicked()
{
	if (this->ui.name_text->text().trimmed() == tr("admin")
		&& this->ui.pwd_text->text().trimmed() == tr("admin"))
	{
		//QMessageBox::warning(this, QStringLiteral("提示"), QStringLiteral("登录成功!"), QMessageBox::Yes);
		
		this->close();
		w.show(); //显示主窗口
	}
	else if (this->ui.name_text->text().trimmed() == tr("")
		|| this->ui.pwd_text->text().trimmed() == tr(""))
	{
		QMessageBox::warning(this, QStringLiteral("警告"), QStringLiteral("用户名或密码不能为空!"), QMessageBox::Yes);
	}
	else
	{
		QMessageBox::warning(this, QStringLiteral("警告"), QStringLiteral("用户名或密码错误!"), QMessageBox::Yes);
		this->ui.name_text->clear();
		this->ui.pwd_text->clear();
		this->ui.name_text->setFocus();
	}
}

//取消按钮
void loginwindow::cancleloginbt_clicked()
{
	this->close();
}

参考

https://blog.csdn.net/qq_35040828/article/details/53580686

https://www.cnblogs.com/lsgxeva/p/7808906.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值