Qt多个ui界面,如何建立联系

2023-10-27

https://blog.csdn.net/qq_41399894/article/details/87460230

一、最简单的方法:

无非就是你建了多个ui界面, 然后你只需要new它,获得它的地址信息,就可以建立联系了,如下

在MainWindow.c添加,然后MainWindow.c就可以跟test1和test2建立联系了

    testOne = new test1;
    testTwo = new test2;
    testTwo->setWindowTitle("test2");
    testOne->setWindowTitle("test1");
    connect(this,SIGNAL(sendTest1(QString)),testOne,SLOT(setText(QString)));
    connect(this,SIGNAL(sendTest2(QString)),testTwo,SLOT(setText(QString)));

再添加两个按键

void MainWindow::on_pushButton_clicked(){

testOne->show();

emit sendTest1("this is test1");}

void MainWindow::on_pushButton_2_clicked(){

testTwo->show();

emit sendTest2("this is test2");}

效果为:

 

二、如果还有其他函数想链接到test1和test2函数,而且你还不可以在new test1和test2,你可以以MainWindow.c为中介,发信号给MainWindow.c,因为MainWindow.c早就new了test,所以就可以发信号了,但是这样就会显得繁琐,好处了减少了内存消耗,先新建一个test3,

test3里面只有两个按键,发信号给mainwindos,


void test3::on_pushButton_clicked()
{
    emit showtest1("通过mainw显示test1");
}

void test3::on_pushButton_2_clicked()
{
    emit showtest2("通过mainw显示test2");
}
在mainwindows里面关联这个信号,
    testThree = new test3;
    testThree->setWindowTitle("test3");
    connect(testThree,SIGNAL(showtest1(QString)),this,SLOT(mTshowTest1(QString)));
    connect(testThree,SIGNAL(showtest2(QString)),this,SLOT(mTshowTest2(QString)));
void MainWindow::mTshowTest1(const QString & text1)
{

    testOne->show();
    emit sendTest1(text1);
}

void MainWindow::mTshowTest2(const QString & text2)
{
    testTwo->show();
    emit sendTest2(text2);
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt多个ui界面,如何建立联系 的相关文章

随机推荐

  • openwrt开发使用-OPKG包管理系统详解

    一 OPKG简介 OPKG Open OpenWrt Package 是一个轻量快速的软件包管理系统 是 IPKG 的克隆 目前已成为开源嵌入式系统领域的事实标准 OPKG 常用于路由 交换机等嵌入式设备中 用来管理软件包的下载 安装 升级
  • k近邻法matlab_【机器学习算法笔记】01-k近邻法

    k近邻法是一种基本的分类和回归方法 是最简单的监督学习算法之一 其本质极其直观 在给定的训练数据集里找距离新的输入实例最近的k个实例 将该k个实例中的多数标签赋给输入实例即可 问题的关键在于三个方面 距离度量 样本空间中两个实例点的距离显然
  • 研华工控机通过CAN2.0B控制自己制作的PCB电路板

    最近在做研华工控机控制输出IO 因为工控机的IO板卡比较贵 而且后面必须接继电器 这样会造成我们机器的电控柜比较大 电路走线非常困难 在这个原因的困扰下 我提出自己做一块IO驱动板的需求 最后在我们硬件工程师的努力下 总算完成IO驱动板的设
  • 在Windows下编译VLC并实现播放视频

    在Windows下编译VLC并实现播放视频 一 编译Win版的VLC真麻烦 二 获取VLC的SDK 1 下载VLC播放器 2 库文件 3 头文件 三 调用VLC实现播放视频 1 拷贝头文件和库文件 2 修改pro文件 3 封装播放器类VLC
  • 前端模块化!

    模块化 1 简介 模块化产生的背景 随着网站逐渐变成 互联网应用程序 嵌入网页的Javascript代码越来越庞大 越来越复杂 Javascript模块化编程 已经成为一个迫切的需求 理想情况下 开发者只需要实现核心的业务逻辑 其他都可以加
  • 基于微信小程序的电影院买票选座系统

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端工具 微信小程序工具 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Mave
  • 借助EspExceptionDecoder工具分析定位esp8266或esp32异常问题

    借助EspExceptionDecoder工具分析定位esp8266或esp32异常问题 文章目录 借助EspExceptionDecoder工具分析定位esp8266或esp32异常问题 问题出现Exception stack EspEx
  • eclipse中文注释缩进问题

    1 问题 中文注释的缩进有问题 英文注释没有问题 2 查看当前字体 3 修改字体 改为宋体或其他字体 就没有该问题了 也可以选择系统字体
  • 【Markdown】 实现上角标和下角标的两种方法(详细讲解!!!)

    作者 MiTu 本帖内容著作权归作者所有 转载请务必保留本文链接 Markdown实现上下角标的两种方法 第一种 使用Markdown自带的代码格式 下标 内容 例 H2O H 2 O 上标 内容 例 210 2 10 第二种 使用 HTM
  • 又发现一个好玩的 Pycharm 插件,通过AI自动生成代码块注释

    经常在开发代码块的过程中都需要写大量的注释来完成对代码块的说明 作为一名程序猿可能经常在抱怨别人开发的代码块没有注释或是注释不清楚 但我们自己又不想把大量的时间花费在代码块注释的编写上面 今天要说的这款插件是Mintlify Doc Wri
  • Go工程化 - 依赖注入

    在微服务框架kratos v2的默认项目模板中kratos layout使用了google wire进行依赖注入 也建议开发者在维护项目时使用该工具 wire 乍看起来比较违反直觉 导致很多同学不理解为什么要用或不清楚如何用 也包括曾经的我
  • 利用react基础编写案例---【求和】

    案例图 redux方法 代码 index js import React from react import ReactDOM from react dom import App from App ReactDOM render
  • [vue3+ts]方法一:使用vuex的mapState和mapGetters

    src下新建hooks useState js import computed from vue import mapState useStore from vuex mapper是存在state中的数据 export function u
  • UDP协议的详细解析

    UDP数据报 一 UDP的概述 User Datagram Protocol 用户数据报协议 UDP是传输层的协议 功能即为在IP的数据报服务之上增加了最基本的服务 复用和分用以及差错检测 UDP提供不可靠服务 具有TCP所没有的优势 UD
  • 关于java.lang.NullPointerException报错的原因和解决方法

    空指针异常 某个对象为null 对该对象的访问就会抛出空指针异常 解决 需找到该异常位置并在处理或调用对象的时候需要判断是否为null 如 Long echostr null String str echostr toString 当ech
  • R语言中将hello打印10次的两种方法

    我们有两种方法来做这件事情 1 for结构 for循环重复的执行一个语句 直到某个变量的值不再包含在序列seq中为止 语法 for var in seq statement 例如 gt for i in 1 10 print Hello 1
  • lumen ”Cannot declare class Event“ 错误解决方法

    在安装php event扩展的服务器上运行lumen框架是会报错 ErrorException Cannot declare class Event because the name is already in use 详细错误信息如下图所
  • Flink 报错:写入数据到流加载失败

    近年来 随着大数据技术的飞速发展 Apache Flink 成为了一个广泛应用的流式处理框架 然而 在使用 Flink 进行数据处理时 有时候我们可能会遇到一些错误和异常 其中一种常见的问题是 Writing records to stre
  • mfc 一些杂七杂八的东西

    cstring CString Left int nCount const 从左边1开始获取前 nCount 个字符 CString Mid int nFirst const 从左边第 nCount 1 个字符开始 获取后面所有的字符 CS
  • Qt多个ui界面,如何建立联系

    https blog csdn net qq 41399894 article details 87460230 一 最简单的方法 无非就是你建了多个ui界面 然后你只需要new它 获得它的地址信息 就可以建立联系了 如下 在MainWin