QT父窗口和子窗口互相通信

2023-11-02

这个问题上网查了好多,大神们都说的很简单,对于我这样的小白来说,理解起来就有点吃力了,下面记录一下,给自己留给笔记,也是给正在摸索中的小白们一点参考!

一  大家要明白如何建立子窗口:

   1 利用新建ui的方式来新建,我没有用这种方式,这里就先不说了!

   2 利用新建一个类,来建立一个窗口,这种方法其实很简单。下面我们就说这种方法:

  首先我们要新建一个你要建立串口的类,新建头文件,CPP文件,在头文件中定义类,以及你自己想要添加的控件和各种需要的函数声明。然后在CPP文件中定义函数,记得要初始化你要用到的变量。好啦,然后把头文件添加到你的主窗口的头文件中,在主窗口中定义一个你添加的头文件中的类,然后我们就可以利用show()函数或者是exec()显示子窗口了。两种方法体现在你要定义的子窗口是模态的还是非模态的。

二  显示出了子窗口之后,我们的文件就是如何让子窗口和父窗口通信了。

    大神们都说利用信号和槽通信!

    没错就是信号和槽,可是小白我不知啊!其实很简单!

     如何实现呢,这要看你是要子窗口给父窗口发送数据,还是父窗口给子窗口发送数据了,道理很简单,就是利用信号和槽的参数来传递数据。

    1 子窗口给父窗口发送数据,我们可以在子窗口中定义信号,然后在父窗口中定义槽,在父窗口中将槽和信号连接起来,这样,你子窗口中的事件触发了信号,父窗口中的槽就会被执行,数据也就传递过来了,signal(参数1,参数2),slot(参数1,参数2)。

    2 父窗口给子窗口发送数据,可以通过两种方式,第一种就是可以给自窗口的类中定义公有变量,然后在主窗口中改变此公有变量的值来达到传递的目的,第二种就是信号和槽的方式,通过在子窗口中定义槽,在主窗口中定义信号,然后连接,利用参数传递数据。

    就这么多,其实确实很简单,仅供大家参考,大神勿喷!

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

QT父窗口和子窗口互相通信 的相关文章

  • 使用 QSet 作为 Qt 地图容器中的键

    我需要一个映射 其中键是唯一的 并且每个键都是一组或自定义 POD 结构 其中包含 3 个数据项 这些值只是指向对象实例的指针 从阅读Qt 的 QMap 与 QHash 的文档 http qt project org doc qt 4 8
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 无法将 QList 分配给 QString

    我遇到这个错误 Unable to assign QList
  • 如何使用 Qt DOM 通过此语法获取 xml 属性

    我正在使用 Qt DOM XML 解析器 并且遇到了如下属性定义的问题
  • 在 Qt 服务器上验证用户身份

    我正在尝试使用 C QtTcpSocket 为个人项目 多人国际象棋游戏 实现身份验证系统 我的朋友建议了一种验证用户的方法 但我想问是否有更简单或更好的方法 来自 Python 背景 做这个项目主要是为了加深对 C 的理解 我将发布我朋友
  • new 运算符(以及 malloc)无法分配约 450 MB 的内存 [重复]

    这个问题在这里已经有答案了 我正在开发一个程序 该程序在内存中存储大约 2 2 亿个短值的数组 该数据块的分配方式如下 short arrayName new short SIZE OF ARRAY 然后将文件的内容读入内存 在团队中的另一
  • QT:删除QGridLayout中QLabel之间的空格

    我将一些具有不同颜色的 QLabels 添加到 QGridLayout 作为 QWidget 的布局 现在我在每个 Qlabel 与下一个 Qlabel 之间有一个间距 我想将其删除 我尝试将标签的边距设置为 0 将 GridLayout
  • 清除pyqt中布局中的所有小部件

    有没有办法清除 删除 布局中的所有小部件 self plot layout QtGui QGridLayout self plot layout setGeometry QtCore QRect 200 200 200 200 self r
  • 如何在针对 Windows XP 的情况下使用 VS2012 构建 Qt 4/5?

    我正在尝试使用 Visual Studio 2012 构建 Qt 4 8 5 Qt 5 2 1 针对 Windows XP SDK v7 1a 使用 VS2102 编译时 源代码与 SDK v7 1a 存在各种不兼容性 因此无法开箱即用 这
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • 在 Qt 中使用多个不同的流读取同一文件

    使用 Qt 是否可以使用多个流读取文件以同时访问其中的不同数据部分 请注意 Qt 中的流 QTextStream QDataStream 不处理底层设备中的位置 流类只是一个包装器 用于更轻松地解析设备 QFile 实例 内的二进制数据 因
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • 覆盖 QWebView 中的页面回复

    我试图在 Qt 的 QWebView 中拦截页面 表单请求 并在某些情况下使用替代内容进行响应 QNetworkReply ngcBrowser createRequest Operation operation const QNetwor
  • 了解 Qt3D 创建的网格

    我创建了一个 Qt3D 网格 如下所示 Qt3DCore QEntity newEntity new Qt3DCore QEntity Qt3DExtras QConeMesh mesh new Qt3DExtras QConeMesh m
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • 即使我在单独的线程中运行,QT GUI 也会冻结

    我有一个小型聊天应用程序 其中使用 SQLite 数据库来存储所有对话 我注意到该应用程序随机冻结 然后我必须最小化和最大化它才能使其再次工作 我认为问题可能是 SQLite 选择 插入导致 gui 冻结 我决定尝试将所有 SQLite 方
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A

随机推荐

  • Unity查找物体方法的详细对比

    Unity查找物体方法的详细对比 我们开发中常用的查找物体的方法有 GameObject Find transform Find FindGameObjectWithTag FindGameObjectsWithTag FindObject
  • Ubuntu系统里使用gcc和Makefile编译c程序

    1 在windows环境下通过虚拟机软件 比如Vmware VirtualBox 安装Ubuntu 16 04 18 04 Desktop 并设置网络参数保证系统能上网 熟练掌握Ubuntu常用命令 并学习使用vi vim 或nano 或g
  • Visual Studio 2017 集成Crystal Report为ASP.NET MVC呈现报表

    最近项目需要实现报表功能 平衡各方面的因素 还是使用Crystal Report 水晶报表 下载较新版本 http downloads businessobjects com akdlm cr4vs2010 CRforVS 13 0 21
  • GetBytes的长度区别

    C 的GetBytes的长度区别 string s 欧 耶 string ss abc defg Encoding Default 是指当前系统设置的 默认字符集编码方式 Encoding ASCII 将 Unicode 字符编码为单个 7
  • Android动态化UI框架一、Virtualview-Android

    Android动态化UI框架一 Virtualview Android GitHub alibaba Virtualview Android 简介 A light way to build UI in custom XML Virtualv
  • 华为OD机试真题-机房布局/栈解法【2023.Q1】

    小明正在规划一个大型数据中心机房 需要满足的条件是 确保在每个机柜边上至少要有一个电箱 已知 机房排成1排 我们用M表示机柜 I表示间隔 请你返回这整排机房 至少需要多少个电箱 如果无解请返回 1 输入描述 第一行输入一个字符串 由 M 和
  • 人与计算机通信,需要达到哪些要求?

    目前人们使用计算机时 大多是用计算机的高级语言 如C Java等语言 编制程序来告诉计算 做什么 以及 怎么做 的 这对计算机的利用带来了诸多不便 严重阻碍了计算机应用的进一步推广 如果能让计算机 听懂 看懂 人类语言 如汉语 英语等 那将
  • 深度对抗学习在图像分割和超分辨率中的应用

    原文 http blog csdn net shenziheng1 article details 72821001 深度对抗学习在图像分割和超分辨率中的应用 原创 2017年05月31日 16 43 15 1982 1 前言 深度学习已经
  • Flutter 屏幕适配

    志当存高远 诸葛亮 屏幕尺寸大全 菜单栏共有5个选项 包括手机 平板 手表 电脑 显示器 分别显示屏幕尺寸 PPI 纵横比 dp和px 单位下的宽 高 以及DPI 官方设计规范 适配原理 屏幕尺寸 严格来说 屏幕尺寸实际被物理尺寸和显示分辨
  • sqlserver 如何备份或恢复一个表_MS SQL Server

    如果只想备份或恢复单个表而不想备份或恢复整个数据库的话 往往有以下方法 1 在Sql server2000 中可以使用DTS来将该表的数据导出成另外的文件格式 当需要恢复时 可以将该文件中数据再通过DTS导入 或者建立DTS脚本来完成 2
  • C语言操作寄存器的方法总结

    1 C语言位操作操作寄存器 操作位有两种方法 一种是位字段 另一种是使用按位运算符 下表为几种位操作符及其含义 不改变其他位的值的状况下 对某几个位进行设值 在嵌入式编程中 常常需要对一些寄存器进行配置 有的情况下需要改变一个字节中的某一位
  • 12步让Windows变成Linux

    趣味教程 12步让Windows变成Linux 作者 ZNXF 编辑 ZNXF 2005 11 26 16 21 00 在pocketpcthoughts网站我们发现了一个趣味Flash教程 声称能够12步让Windows变成Linux 可
  • C++的关键字

    关键字也称保留字 是预先定义好的标识符 有其特殊的含义 auto break case char const continue default do double else enum extern float for goto if int
  • myisam和innodb索引实现的不同

    转载 http www 2cto com database 201211 172380 html myisam和innodb索引实现的不同 MyISAM引擎使用B Tree作为索引结构 叶节点的data域存放的是数据记录的地址 下图是MyI
  • ❤️测试新人如何编写测试用例?一文从3个方面带你写一个合格的测试用例❤️

    前言 作为一个测试新人 刚开始接触测试 对于怎么写测试用例很头疼 无法接触需求 只能根据站在用户的角度去做测试 但是这样情况会导致不能全方位的测试APP 这种情况就需要一份测试用例了 但是不会写 求指教 还有就是测试出来的bug该如何追踪
  • 【笔记】公钥密码学之RSA

    数论基础 素数 1 定义 一个大于1的自然数 除了1和它本身外 不能被其他自然数整除 除0以外 的数称之为素数 质数 否则称为合数 如 3 4 12 不是素数 11除了等于11 1以外 不能表示为其它任何两个整数的乘积 所以11是一个素数
  • 目标检测之数据预处理

    一 数据介绍 AI识虫数据集结构如下 提供了2183张图片 其中训练集1693张 验证集245 测试集245张 包含7种昆虫 分别是Boerner Leconte Linnaeus acuminatus armandi coleoptera
  • Apache下设置整站变灰方法

    本文转载自http www sapub net Apache 感谢作者分享 Web服务器下设置变灰的方法比较简单 总结如下 1 安装mod ext filter模块 此模块用来在所有的输出页面插入你想要的内容 比如css 广告头之类 这里假
  • centos7设置静态IP地址

    有时候我们电脑 老是换网线 这个时候虚拟机ip就会跟着变 所以这里我建议大家直接配置静态ip 这样可以避免ip变化 目录 1 查看IP配置信息 从中获取网卡名称 2 编辑网卡名称对应的配置文件 3 修改 etc sysconfig netw
  • QT父窗口和子窗口互相通信

    这个问题上网查了好多 大神们都说的很简单 对于我这样的小白来说 理解起来就有点吃力了 下面记录一下 给自己留给笔记 也是给正在摸索中的小白们一点参考 一 大家要明白如何建立子窗口 1 利用新建ui的方式来新建 我没有用这种方式 这里就先不说