qt信号与槽

输入账户密码成功则跳转界面

widget.cpp

#include "widget.h"                                                            //自己的头文件Widget::Widget(QWidget *parent)                                                //构造函数的定义: QWidget(parent)                                                          //显性调用父类的构造函数完成子类从父类继承下来的成员的初始化工作, ui(new Ui::Widget)                                                       //对自己类的中的指针成员开辟空间
{ui->setupUi(this);                                                         //给拖拽出来的组件实例化空间this->setWindowTitle("鹏哥快聊");                                            //设置窗口标题this->setWindowIcon(QIcon(":/icon/wodepeizhenshi.png"));     //设置窗口的图标iconthis->resize(540,410);                                                     //设置窗口的大小this->setFixedSize(540,410);                                               //设置固定尺寸lab1 = new QLabel(this);                                           //实例化一个标签1lab1->resize(540,180);                                                     //设置标签1的大小lab1->setPixmap(QPixmap(":/icon/logo.png"));                 //设置标签1的图标iconlab1->setScaledContents(true);                                             //设置内容自适应lab2 = new QLabel(this);                                           //实例化一个标签2lab2->resize(50,35);                                                       //设置标签2的大小lab2->move(100,210);                                                       //移动标签2的位置lab2->setPixmap(QPixmap(":/icon/userName.jpg"));             //设置标签2的图标iconlab2->setScaledContents(true);                                             //设置内容自适应lab3 = new QLabel(this);                                           //实例化一个标签3lab3->resize(50,35);                                                       //设置标签3的大小lab3->move(100,290);                                                       //移动标签3的位置lab3->setPixmap(QPixmap(":/icon/passwd.jpg"));               //设置标签2的图标iconlab3->setScaledContents(true);                                             //设置内容自适应edit = new QLineEdit(this);                 //实例化一个行编辑器1edit->setPlaceholderText("QQ号码/手机/邮箱");edit->move(200,210);                                                       //移动行编辑器1的位置edit->resize(200,35);                                                      //设置行编辑器1的大小edit2 = new QLineEdit(this);edit2->setPlaceholderText("密码");edit2->move(200,290);                                                      //移动行编辑器2的位置edit2->resize(200,35);                                                     //设置行编辑器2的大小edit2->setEchoMode(QLineEdit::Password);                                   //设置回显模式btn1 = new QPushButton("登录",this);                           //实例化按钮1btn1->resize(90,37);                                                       //设置按钮1的大小btn1->setIcon(QIcon(":/icon/login.png"));                    //设置图标btn1->move(310,360);                                                       //移动按钮1的位置btn2 = new QPushButton("取消",this);btn2->resize(90,37);                                                       //设置按钮1的大小btn2->setIcon(QIcon(":/icon/cancel.png"));                   //设置图标btn2->move(410,360);                                                       //移动按钮2的位置connect(this->btn1,&QPushButton::clicked,this,&Widget::on_btn1_clicked);connect(this->btn2,SIGNAL(pressed()),this,SLOT(close()));}void Widget::on_btn1_clicked()
{if(Widget::edit->text() == "admin"){if(Widget::edit2->text() == "123456"){qDebug() << "登录成功";emit jump();this->close();}}else{qDebug() << "账户错误";edit2->clear();}
}Widget::~Widget()                                                              //析构函数的定义
{delete ui;                                                                 //释放ui指针的内存
}

main.cpp

#include "widget.h"                               //图形化界面的头文件
#include<form.h>int main(int argc, char *argv[])
{QApplication a(argc, argv);                   //实例化一个应用程序的对象Widget w;                                     //在栈区实例化自定义类的对象w.show();                                     //调用show函数,展示图形化界面,该函数是父类提供的,直接用即可Form  f;QObject::connect(&w,&Widget::jump,&f,&Form::jump_slot);return a.exec();                              //为了阻塞界面不被关闭,等待相关事情的发生//等待信号与槽,事件处理,等待用户操作
}

form.cpp

#include "form.h"
#include "ui_form.h"Form::Form(QWidget *parent) :QWidget(parent),ui(new Ui::Form)
{ui->setupUi(this);
}Form::~Form()
{delete ui;
}void Form::jump_slot()
{this->show();
}

界面2

XMind

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/61155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WordPress 网站使用 CDN 后获取访客真实 IP

WordPress 往数据库存 IP 的时候似乎用的是 REMOTE_ADDR&#xff0c;这样一来数据库里面的评论信息就全是从各个 CDN 服务器来的 IP。 在 wp-config.php 文件中增加下面代码就可以获取 CDN 后访客的真实 IP。这个函数的核心是用解析后的 HTTP_X_FORWARDED_FOR 替换 REMOTE_ADD…

django自动创建model数据

目前使用的环境&#xff1a;django4.2.3&#xff0c;python3.10 django通过一些第三方库&#xff0c;可以轻易的自动生成一系列的后台数据。 首先先创建一个数据库&#xff1a; 然后&#xff0c;在setting.py中就可以指定我们新创建的数据库了。 DATABASES {default: {ENGI…

ChatGPT 与前端技术实现制作大屏可视化

像这样的综合案例实分析,我们可以提供案例,维度与指标数据,让ChatGPT与AIGC 帮写出完整代码,并进行一个2行2列的布局设置。 数据与指令如下: 商品名称 销量 目标 完成率 可乐 479 600 79.83% 雪碧 324 600 54.00% 红茶 379 600 63.…

【C语言】循环语句详解

✨个人主页&#xff1a; Anmia.&#x1f389;所属专栏&#xff1a; C Language &#x1f383;操作环境&#xff1a; Visual Studio 2019 版本 目录 1.什么是循环结构&#xff1f; 2.while循环 while流程图 while语句中的break和continue break continue 3.for循环 for流…

头歌MYSQL——课后作业1 数据库和数据表的建立、修改和删除

第1关&#xff1a;建立数据库 任务描述 本关任务&#xff1a;建立数据库 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 如何创建数据库&#xff0c;显示已经建立的数据库 相关知识 创建数据库 创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理。 命令格…

C语言(第三十六天)

4. 位操作符&#xff1a;&、|、^ 位操作符有&#xff1a; & //按位与 | //按位或 ^ //按位异或 注&#xff1a;他们的操作数必须是整数。 直接上代码&#xff1a; #include <stdio.h> int main() { int num1 -3; int num2 5; num1 & num2; num1 | num2; nu…

HTML 播放器效果

效果图 实现代码 <!DOCTYPE HTML> <html><head><title>爱看动漫社区 | 首页 </title><link href"css/bootstrap.css" relstylesheet typetext/css /><!-- jQuery --><script src"js/jquery-1.11.0.min.js"…

Django主要特点

Django 是一个开源的 Python Web 开发框架&#xff0c;它提供了一系列的工具和功能&#xff0c;帮助开发人员快速、高效地构建 Web 应用程序。 以下是 Django 的一些主要特点&#xff1a; 1. 强大的 ORM&#xff08;对象关系映射&#xff09;&#xff1a; Django 提供了一个…

可拖拽编辑的流程图X6

先上图 //index.html&#xff0c;有时候可能加载失败&#xff0c;那就再找一个别的cdn 或者npm下载&#xff0c;如果npm下载&#xff0c; //那么需要全局引入或者局部引入&#xff0c;代码里面写法也会不同&#xff0c;详细的可以看示例<script src"https://cdn.jsdeli…

C++对C的扩展

文章目录 C对C的扩展::作用域运算符代码示例 namespace 命名空间代码示例命名空间的使用注意无名命名空间和命名空间别名using声明 语法的增强struct的增强 bool 类型三目运算符const 关键字C语言Cconst 替换define 引用引用作用于数组引用作为函数参数引用作为函数返回值例1&a…

c ++ 学习 之函数重载

在C中&#xff0c;函数重载&#xff08;Function Overloading&#xff09;是一种允许你定义多个同名函数&#xff0c;但它们在参数数量、类型或顺序上有所不同。编译器会根据函数调用时提供的参数信息&#xff0c;自动选择调用匹配的重载函数。函数重载可以使代码更具灵活性&am…

白嫖idea

白嫖idea 地址 https://www.jetbrains.com/toolbox-app/

每日一题:leetcode 1267 统计参与通信的服务器

这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其他服务…

jmeter性能测试步骤实战教程

1. Jmeter是什么&#xff1f; 2. Jmeter安装 2.1 JDK安装 由于Jmeter是基于java开发&#xff0c;首先需要下载安装JDK &#xff08;目前JMeter只支持到Java 8&#xff0c;尚不支持 Java 9&#xff09; 1. 官网下载地址&#xff1a; http://www.oracle.com/technetwork/java/…

【java安全】FastJson反序列化漏洞浅析

文章目录 【java安全】FastJson反序列化漏洞浅析0x00.前言0x01.FastJson概述0x02.FastJson使用序列化与反序列化 0x03.反序列化漏洞0x04.漏洞触发条件0x05.漏洞攻击方式JdbcRowSetImpl利用链TemplatesImpl利用链**漏洞版本**POC漏洞分析 【java安全】FastJson反序列化漏洞浅析 …

QT基础 关于QT延迟

目录 QT提供延时 1.自定义延时 2.使用QElapsedTimer 3.使用事件循环 4.跨平台延时 QT提供延时 这里提供四种方法&#xff1a; 1、多线程程序使用QThread::sleep()或者QThread::msleep()或QThread::usleep()或QThread::wait()进行延时处理。 Sleep不会释放对象锁&#x…

Ubuntu20.04安装ROS

Ubuntu20.04安装ROS Excerpt ubuntu安装方式有两种&#xff0c;一种是安装ubuntu系统&#xff0c;另一种是在windows下安装虚拟机&#xff0c;在虚拟机里安装ubuntu。下面为双系统安装ubuntu&#xff08;用虚拟机装ubuntu会很卡&#xff0c;bug很多&#xff0c;除非电脑配置极好…

java八股文面试[多线程]——Happens-Before规则

TODO 知识来源&#xff1a; 【23版面试突击】你知道什么是 happens-before 原则吗&#xff1f;_哔哩哔哩_bilibili 【2023年面试】Happens-Before规则是什么_哔哩哔哩_bilibili

八、MySQL(DML)如何修改表中的数据?

1、修改表数据 &#xff08;1&#xff09;基础语法&#xff1a; update 表名 SET 字段名1数值1,字段名2数值2&#xff0c;…… [where 条件]; &#xff08;2&#xff09; 操作实例&#xff1a; 第一步&#xff1a; 先准备一张表 insert into things values (10086,18,0x12…

【前端代码规范】

前端代码规范 vue3版本:【Vue&React】版本TS版本&#xff1a;【TS&JS】版本vite版本&#xff1a;【Webpack&Vite】版本Eslint版本:命名规则:【见名识意】项目命名&#xff1a;目录命名&#xff1a;JS/VUE文件CSS/SCSS文件命名&#xff1a;HTML文件命名&#xff1a;…