QT--day2(信号与槽,多界面跳转)

news2024/11/28 0:33:30

 第一个界面头文件:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QIcon>  //图标头文件
#include <QPushButton>  //按钮类头文件

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT    //有关信号与槽的元对象

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();


signals:
    void my_signal();
public slots:
    void btn1_slot();//自定义槽函数

private:
    Ui::Widget *ui;  //使用ui界面对应头文件中的命名空间中的类定义的指针

    QPushButton *btn1;
};

#endif // WIDGET_H

第一个界面源文件:

#include "widget.h"       //引入自定义头文件
#include "ui_widget.h"   //引入ui界面的头文件

Widget::Widget(QWidget *parent)
    : QWidget(parent)        //调用父类的有参构造
    , ui(new Ui::Widget)     //构造出ui界面拖拽的成员,并且将地址赋值给ui指针
{
    ui->setupUi(this);    //周用设置界面函数,给ui界面上的组件申请空间
    //设置窗口大小
    this->resize(600,400);
    //设置窗口标题
    this->setWindowTitle("聊天室");
    //设置窗口图标
    this->setWindowIcon(QIcon("E:\\嵌入式\\QT\\图标库\\icon_h8db9qyxft\\QQ.png"));

    //添加按钮
    btn1=new QPushButton("登录",this);
    btn1->resize(100,50);
    btn1->move(400,300);
    btn1->setIcon(QIcon("E:\\photo\\9.jpg"));

    //将按钮1的clicked信号连接到自定义的信号中
    connect(btn1,&QPushButton::clicked,this,&Widget::btn1_slot);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::btn1_slot()
{
    //跳转到第二个界面
    emit my_signal();
    //将自身界面关闭
    this->close();
}


第二个界面头文件:

#ifndef SECOND_H
#define SECOND_H

#include <QWidget>

namespace Ui {
class second;
}

class second : public QWidget
{
    Q_OBJECT

public:
    explicit second(QWidget *parent = nullptr);
    ~second();

public slots:
    void jump_slot();

private:
    Ui::second *ui;
};

#endif // SECOND_H

第二个界面源文件:

#include "second.h"
#include "ui_second.h"

second::second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::second)
{
    ui->setupUi(this);

}

second::~second()
{
    delete ui;
}

void second::jump_slot()
{
    this->show();
}

测试文件:

#include "widget.h"
#include "second.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    second s;
    QObject::connect(&w,&Widget::my_signal,&s,&second::jump_slot);
    return a.exec();
}

效果:

 

 

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

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

相关文章

弱电系统与IBMS系统,强强联手打造智能建筑

随着科技的飞速发展和人们对建筑设施需求的不断提升&#xff0c;智能建筑正逐渐成为建筑行业的重要发展方向。智能建筑是指通过应用先进的技术和系统&#xff0c;对建筑物的结构、系统、服务和管理等进行优化组合&#xff0c;实现建筑设施的智能化和自动化。当前&#xff0c;智…

全网低价乱价怎么解决

随着品牌的逐步发展&#xff0c;销售渠道也会渐渐增多&#xff0c;比如电商平台中的产品链接&#xff0c;会随着品牌销售店铺的增多、销售SKU的增多&#xff0c;链接量逐步上升&#xff0c;各链接的价格也会有高有低&#xff0c;有些还会低于品牌要求的建议销售价&#xff0c;所…

Java spring Aop实战

0目录 Spring AOP 1.实战 1.实战 创建工程和依赖 数据库建表 实体类 Mapper 接口 方法一 方法二 Service包 接口1&#xff1a; 实现接口 Mapper Mapper 1 Mapper 2 配置xml文件 Xml 1 Xml 2 Spring 配置文件 Mybatis配置文件 测试类 数据库结果 …

信息系统项目管理师(第四版)教材精读思维导图-第三章信息系统治理

请参阅我的另一篇文章&#xff0c;综合介绍软考高项&#xff1a; 信息系统项目管理师&#xff08;软考高项&#xff09;备考总结_计算机技术与软件专业技术_铭记北宸的博客-CSDN博客 目录 3.1 IT治理 3.2 IT审计 3.1 IT治理 3.2 IT审计

小创业公司死亡剧本

感觉蛮真实的&#xff1b;很多小创业公司没有阿里华为的命&#xff0c;却得了阿里华为的病。小的创业公司要想活无非以下几点&#xff1a; 1 现金流&#xff0c;现金流&#xff0c;现金流&#xff1b; 2 产品&#xff0c;找痛点&#xff0c;不要搞伪需求&#xff1b; 3 根据公司…

DAY2,Qt(继续完善登录框,信号与槽的使用 )

1.继续完善登录框&#xff0c;当登录成功时&#xff0c;关闭登录界面&#xff0c;跳转到新的界面中&#xff0c;来回切换页面&#xff1b; ---mychat.h chatroom.h---两个页面头文件 #ifndef MYCHAT_H #define MYCHAT_H#include <QWidget> #include <QDebug> /…

Error in onLoad hook: “ReferenceError: plus is not defined“ found in

项目场景&#xff1a; 项目背景如下所示&#xff1a; 使用 HBuilder X 开发 项目&#xff0c; 调整页面时&#xff0c;直接运行到 浏览器查看页面设置效果&#xff0c;导致控制台出现下述报错信息 例如&#xff1a; 问题描述 遇到的问题如下所示&#xff1a; APP 中接收数据…

aigo S7 PSSD 固态硬盘提示“没有初始化”的修复分享

关于固态硬盘 我们知道,固态硬盘(SSD)因其轻、薄、快、低耗电、耐震、稳定性高、耐低温等优点得到了快速的应用,在存储设备市场中占有很大份额并在持续增长。但是,我们的固态硬盘一旦损坏,数据就比较难以恢复。 今天粉丝送来的一个aigo S7 PSSD 固态硬盘进行修复,插入…

XCP详解「3.2·CANape新建工程导入A2L」

返回 XCP详解「总目录」 目录 1、新建APE工程 2、导入A2L文件 3、查看信号 4、记录数据 1、新建APE工程 打开CANape 17.0 创建新工程 创建工程名 选择保存路径 完成后&#xff0c;会开启新工程空白界面 2、导入A2L文件 导入3.1中建好的A2L文件 根据需要设置Channel&#…

第七章:WILDCAT: 弱监督学习的深度卷积神经网络用于图像分类、点位定位和分割

0.摘要 本文介绍了WILDCAT&#xff0c;一种深度学习方法&#xff0c;它旨在通过对齐图像区域来获得空间不变性和学习强烈局部化特征。我们的模型仅使用全局图像标签进行训练&#xff0c;并致力于三个主要的视觉识别任务&#xff1a;图像分类、弱监督的逐点对象定位和语义分割。…

1500多名开发者集体提起诉讼,苹果公司回应:不垄断,还提供价值

根据路透社报道&#xff0c;1500多名开发者集体提起诉讼&#xff0c;指控苹果公司在其App Store上存在不公平行为并征收高额佣金。该诉讼要求赔偿高达7.85亿英镑&#xff08;约合72.38亿元人民币&#xff09;。 根据9to5Mac报道&#xff0c;苹果公司对最新起诉提出回应&#xf…

优秀的帮助中心可不能缺少这些元素

随着服务行业越来越卷&#xff0c;很多企业都不满足于只用人工客服来宣传自己的产品和维持售后服务&#xff0c;更多企业开始把目光投向了在线的帮助中心。不仅可以解决人工成本高的问题&#xff0c;还可以实现24小时的全天候服务。是一个绝佳的选择。 优秀的帮助中心必备元素 …

fastadmin appendfieldlist 用法

先上效果 字段添加 ALTER TABLE ewg1990.fa_quanzi ADD COLUMN yiqi_images text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 厂家赞助 AFTER yiqi_images; 添加页面 <!--赞助商--><div class"form-group row"><!-- &…

有关 openAPI 的一些总结

目前主流的 APi 的验证是&#xff1a;Tokensign sign 主要是保证数据的真实性 token 主要是进行接口安全访问的 sign验证签名&#xff08; sha256Hex&#xff09; 一般将一些平台的版本及平台 id 等字段进行固定拼接后再进行摘要算法处理 // 参与签名计算的Key-Value列表 Map…

【青书学堂】计算机组装与维护(直播课) 第一学期 考试

【青书学堂】计算机组装与维护(直播课) 第一学期 考试 标题最终成绩:91.15 分 注意:答案仅供参考 第1题 单选题 第三代计算机的主要元件是:()。 A: 电子管 B: 中、小规模集成电路 C: 晶体管 D: 大规模和超大规模集成电路 答案:B 第2题 单选题 下列哪项属于网络设备()…

雷达信号处理自学总结(持续更新)

傅里叶变换的频率分辨率 频率分辨率 采样频率 信号长度 频率分辨率 \frac{采样频率 }{信号长度} 频率分辨率信号长度采样频率​ 可用numpy模块的fft.fftfreq函数求出傅里叶变换的频率分辨率。 https://numpy.org/doc/stable/reference/generated/numpy.fft.fftfreq.html

2.1 色彩空间

色彩发送器 色彩认知&#xff1a;光源是出生点&#xff0c;光源发射出光线&#xff0c;光线通过直射反射折射等路径最终进入人眼。但是人眼接收到光线后&#xff0c;人眼的细胞产生了一系列化学反应。由此把产生的新号传入大脑&#xff0c;最终大脑对颜色产生了认知感知。 光的…

Nacos开启权限认证

1.修改Nacos配置 配置文件在nacos目录的conf下 修改点&#xff1a; 注意&#xff1a;需要添加对应的数据库nacos&#xff0c;对应的SQL文件也是在conf目录下 2.修改bootstrap.yaml配置文件 spring:application:name: servernameprofiles:active: devcloud:nacos:username: na…

CISP-PTE与CISP-PTS:如何选择与利用

CISP-PTE和CISP-PTS是与软件测试相关的职业认证&#xff0c;它们在某些方面存在区别&#xff0c;但也有一定的联系。下面将详细介绍这两个认证的区别和联系。 区 别 CISP-PTE&#xff1a;培养「实际网络安全渗透测试能力」与「真实操作能力」为核心&#xff0c;注重所学知识的…

在nginx上部署nuxt项目

先安装Node.js 我安的18.17.0。 安装完成后&#xff0c;可以使用cmd&#xff0c;winr然cmd进入&#xff0c;测试是否安装成功。安装在哪个盘都可以测试。 测试 输入node -v 和 npm -v&#xff0c;&#xff08;中间有空格&#xff09;出现下图版本提示就是完成了NodeJS的安装…