当前位置: 首页 > news >正文

【QT】Day 2

1> 继续完善登录框,当登录成功时,关闭登录界面,跳转到新的界面中

second.h
#ifndef SECOND_H
#define SECOND_H#include <QWidget>namespace Ui {
class second;
}class second : public QWidget
{Q_OBJECTpublic:explicit second(QWidget *parent = nullptr);~second();public slots:void loginjump_slot();private:Ui::second *ui;
};#endif // SECOND_H

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QDebug>       //信息调试类,用于打印输出的
#include <QIcon>        //图标头文件
#include <QPushButton>  //按钮类头文件
#include <QLineEdit>    //行编辑器类
#include <QLabel>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();public slots:   //在该函数下要定义公共槽函数
//    void loginbtn_slot();  //自定义处理"登录"按钮发射信号的槽函数申明void cancebtn_slot();  //自定义处理"取消"按钮发射信号的槽函数申明signals:void loginjump();private slots:void on_loginBtn_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H

 main.cpp

#include "widget.h"
#include "second.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();second s;   //实例化第2个界面QObject::connect(&w,&Widget::loginjump,&s,&second::loginjump_slot);  //连接2个界面的信号与槽return a.exec();
}

 second.cpp

#include "second.h"
#include "ui_second.h"second::second(QWidget *parent) :QWidget(parent),ui(new Ui::second)
{ui->setupUi(this);//设置logo图ui->hqyj->setPixmap(QPixmap(":/icon/logo.png"));     //logoui->hqyj->setScaledContents(true);  //设置内容自适应
}second::~second()
{delete ui;
}void second::loginjump_slot()
{this->show();
}

 widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//1.界面的配置this->setFixedSize(480,400);    //设置固定尺寸this->setWindowTitle("鹏哥快聊"); //窗口标题this->setWindowIcon(QIcon(":/icon/wodepeizhenshi.png"));   //设置窗口图标this->setWindowOpacity(1);     //设置透明度//设置logo图ui->logoLab->setPixmap(QPixmap(":/icon/logo.png"));     //logoui->logoLab->setScaledContents(true);  //设置内容自适应//2、设置账号和密码-标签ui->userNameLab->resize(30,30);ui->userNameLab->setPixmap(QPixmap(":/icon/userName.jpg"));ui->userNameLab->setScaledContents(true);  //设置内容自适ui->pwdLab->resize(30,30);ui->pwdLab->setPixmap(QPixmap(":/icon/passwd.jpg"));ui->pwdLab->setScaledContents(true);  //设置内容自适应//3、设置账号和密码-输入框ui->userNameEdit->setPlaceholderText("QQ号码/手机/邮箱");ui->pwdEdit->setEchoMode(QLineEdit::Password);   //设置密文模式ui->pwdEdit->setPlaceholderText("密码");          //设置占位符//4、设置登录和取消图标ui->loginBtn-> setIcon(QIcon(":/icon/login.png"));//设置按钮图标ui->cancelBtn-> setIcon(QIcon(":/icon/cancel.png"));//设置按钮图标//手动将按钮3的clicked信号与自定义的槽函数进行连接connect(ui->cancelBtn, SIGNAL(clicked()), this, SLOT(cancebtn_slot()));
}Widget::~Widget()
{delete ui;
}//自定义槽函数,关于"取消"按钮对应槽函数的实现
void Widget::cancebtn_slot()
{this->close();
}void Widget::on_loginBtn_clicked()
{if((ui->userNameEdit->text() == "admin") && (ui->pwdEdit->text()=="123456"))    //获取用户名和密码{qDebug() << "登录成功";emit loginjump();    //发射跳转信号this->close();  //关闭自身界面}else{qDebug() << "登录失败";ui->pwdEdit->clear();   //清空密码框内容}
}

2> 新建一个工程文件,将默认提供的代码加上注释信息

工程管理文件:

 头文件

主函数

 源文件

 

 

3. 思维导图

 

 

http://www.lryc.cn/news/97682.html

相关文章:

  • 腾讯云 Cloud Studio 实战训练营活动招募中
  • 前端常用UI框架
  • 创建自己的docker python容器环境;支持新增python包并更新容器;离线打包、加载image
  • 什么是Apache Kafka?
  • Langchain 的 Routerchain
  • Springboot - druid 数据库密码加密
  • Python中运行取消Python console模式
  • macOS Monterey 12.6.8 (21G725) 正式版发布,ISO、IPSW、PKG 下载
  • 计科web常见错误排错【HTTP状态404、导航栏无法点开、字符乱码及前后端数据传输呈现、jsp填写的数据传到数据库显示null、HTTP状态500】
  • 仿VScode MDK背景配色方案
  • AutoSAR系列讲解(实践篇)9.5-通信的数据映射
  • janus-Gateway的服务端部署
  • 力扣简单1道_两数之和
  • 从vue3速学react
  • Kotlin 协程 CoroutineScope
  • 如何构建适合自己的DevOps软件测试改进方案
  • PHP关于字符串的各类处理方法
  • Springboot+MyBatis使用
  • WebSocketServer的使用(@ServerEndpoint)
  • 【yolov8系列】将yolov8-seg 模型部署到瑞芯微RK3566上
  • Java类的默认构造函数
  • 华为openGauss数据库入门 - gsql用法
  • The Sandbox 重新上线,带来全新体验!
  • 动态内存管理面试题
  • 树莓派外设开发编程
  • Java从入门到精通(一)
  • Electron从构建到打包程exe应用
  • 3分钟学会设计模式 -- 单例模式
  • 《面试1v1》Kafka与传统消息系统区别
  • 【算法第十三天7.27】平衡二叉树,二叉树所有路径,左叶子之和