Qt 多窗口的调用

2023-11-10

方法一:(用于一个父窗口和多个子窗口的处理,不知道怎么用于处理子窗口的子窗口的处理)

1、建立一个父窗口,然后建立一个QDialog类型的窗口作为子窗口

2、在父类窗口建立子窗口的对象

	void 父类名::on_pushButton_clicked()
	{
    		this->hide();
    		子类对象->show();    
   		子类对象->exec();                      //当子类对象窗口关闭或隐藏时,执行下面语句
    		this->show();                            
	}

方法二:(使用connect,可用于父窗口与子窗口还有子窗口的子窗口间的调用,但用于一个父窗口和多个子窗口时,会使代码质量大大降低,复杂化)

建立一个父窗口,然后建立一个QDialog类型的窗口作为子窗口      

父窗口.h文件
	   children_win *cwin = new children_win();
           private slots:
                           void on_pushButton_clicked();           
                            void re_show_pwin();     
父窗口.cpp文件 
			parent_win::parent_win(QWidget *parent) :
   			 	QMainWindow(parent),
   			 	ui(new Ui::parent_win)
			{
   				 ui->setupUi(this);
    				connect(cwin,SIGNAL(send_cwin()),this,SLOT(re_show_pwin()));      //子类对象发送send_cwin()信号给父类,调用re_show_pwin()
			}
			void parent_win::on_pushButton_clicked()
			{
    				this->hide();
    				cwin->show();
			}
			void parent_win::re_show_pwin()
			{
   			 	this->show();
			}
子窗口.h
              signals:
    			void send_cwin();
子窗口.cpp       
			void children_win::on_pushButton_clicked()
			{
    				this->hide();
    				emit send_cwin();
			}

方法三:(比较好用)

建立一个父窗口,然后建立一个QDialog类的子窗口

父窗口.cpp
		#include "zi.h"
 
		void parent_win::on_pushButton_clicked()
		{
    			this->hide();
    			zi *z = new zi(this);          //this一定要加上,否则子窗口对象无法指向父类窗口
    			z->show();
		}
 
子窗口.h  
		#include "fu.h"
                         fu *f;
 
子窗口.cpp
		zi::zi(QWidget *parent) :
    		    QMainWindow(parent),
    		    ui(new Ui::zi)
		{
   			 f = (fu*) parent;               //fu指针指向父类窗口
    			ui->setupUi(this);
		}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系: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 创建网络服务 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 获取 QPushButton 在 2D 数组 QPushButton 上的索引

    我有一个二维数组QPushButton 当用户单击按钮时如何获取按钮的索引 例如当用户单击按钮时a 2 3 它会显示 2 3 该示例如下所示 Qt 4 5 使用对象名称 您可以为按钮指定唯一的对象名称 理想情况下 名称应该是有效的 C 标识
  • 如何从浮点数组创建新的 QImage

    我有一个代表图像的浮点数数组 列在前 我想在 QGraphicsSecene 上将图像显示为 QPixmap 为了做到这一点 我尝试使用 QImage 构造函数 QImage const uchar data int width int h
  • 如何在 QT 中绘制点?

    我正在用 QT 用 C 编写一个应用程序 其中有 n 个点并计算它的凸包 然而 一旦计算出来 我不知道如何绘制点并绘制船体的边界 制作菜单按钮等很简单 但我不确定我是否知道执行此操作的工具 你怎么做到这一点 图形视图 addEllipse
  • QML:无法读取未定义的属性“xxx”

    ApplicationWindow id root property string rootName rootName visible true width 800 height 400 title qsTr WatchFace Maker
  • Qt 人工鼠标点击无法正常工作

    小玩具应用程序可以在这里找到 http gist github com 517445 http gist github com 517445 我正在尝试将人工鼠标事件发送到小部件 我使用QApplication sendEvent为此 接下
  • 在 Qt 服务器上验证用户身份

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

    这个问题在这里已经有答案了 我正在开发一个程序 该程序在内存中存储大约 2 2 亿个短值的数组 该数据块的分配方式如下 short arrayName new short SIZE OF ARRAY 然后将文件的内容读入内存 在团队中的另一
  • QMutex 是否需要是静态的,以便此类实例的其他线程调用知道暂停其操作?

    从多个线程调用以下附加函数 我不希望数据重写附加 因为计数器尚未增加 除了当前使用 Append 的线程之外 这是否会挂起所有进入的线程 或者其他线程会继续运行而不追加数据吗 互斥锁是否需要是 静态 的 或者每个实例都知道要暂停操作吗 如果
  • 如何在 OS X 上的 Qt 应用程序中设置应用程序图标,足以进行分发?

    跟进这个答案 https stackoverflow com a 20918932 368896 to 这个问题 https stackoverflow com questions 20909341 what is the fastest
  • QStyledItemDelegate 绘制自定义小部件失败

    在我的一个项目中 我使用的是QTableWidget为了显示一些复杂的计算结果 为了提高表格的可读性 我需要在单个表格单元格内显示两个对齐的值 后来我想通过使用颜色或箭头等来进一步自定义小部件 为此我源自QStyledItemDelegat
  • 如何让小部件在上下文菜单出现时接收鼠标释放事件

    在Ubuntu20 04上 当上下文菜单出现时 我无法让小部件接收鼠标释放事件 而Windows可以接收 我的pyqt版本是5 15 2 我考虑过手动发送鼠标释放事件 但我不知道当上下文菜单出现时哪些系统会收到鼠标释放事件 这样做可能会导致
  • 获取 QListView 中所有可见项目的简单方法

    我正在尝试使用 Qt Framework 开发一个图像库应用程序 应用程序从所选文件夹加载所有图像 并使用 QListView 控件显示这些图像 但现在我想通过仅加载用户可见的图像来减少内存消耗 由于没有直接函数来获取视图中的所有可见项目
  • Qt:不完整类型和前向声明的使用无效

    我有一些误解 A h ifndef A H define A H include B h class A public B Q OBJECT public A endif A cpp include A h A A B ui gt blan
  • 如何doxygen注释Qt属性?

    我想将 Doxygen 注释附加到我的 Q PROPERTY 例如 song h class Song public QObject Q OBJECT private Q PROPERTY QString title READ title
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • Qt中用于线程间通信的类设计

    问题陈述 用相机跟踪物体并相应地移动相机的方位角和仰角 Process 相机获取物体的图像 处理相机的每一帧以查找物体 应该被跟踪 并将每帧中生成的信息传递给机械设备 万向节 以平移和倾斜方式移动摄像机 Design 主 Gui 在一个线程
  • Qt 支持 Windows 蓝牙 API 吗?

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

随机推荐

  • Linux系统报错NMI watchdog: BUG: soft lockup - CPU#5 stuck for 24s

    目录 一 问题描述 二 解决方法 1 将 watchlog thresh 临时设置为 30 2 将 watchlog thresh 永久设置为 30 3 将 watchlog thresh 写入启动文件 一 问题描述 Linux 系统响应变
  • Wce中的source文件中的RELEASETYPE类型

    1 E WINCE600 PLATFORM EAuto657t Src Media au1300 wince subproject sources RELEASETYPE LOCAL 2 E WINCE600 PLATFORM EAuto6
  • 【STM32Cube】学习笔记(五):红外避障传感器

    文章目录 摘要 一 简介 1 GPIO简介 2 红外避障传感器 3 性能参数 二 硬件电路设计 1 模块内部电路 2 与单片机相连接电路 三 软件设计 1 CubeMX配置 2 CubeIDE代码 四 结果显示 五 总结 附录 摘要 本篇文
  • FastJson序列化null值问题

    在使用fastjson进行序列化时 他默认当字段为null时是不会序列化这个字段的 当你需要将null序列化出来时 可以用 JSONField的serialzeFeatures属性加在字段上 JSONField serialzeFeatur
  • python 正则提取邮箱_python利用正则表达式提取字符串

    前言 正则表达式的基础知识就不说了 有兴趣的可以点击这里 提取一般分两种情况 一种是提取在文本中提取单个位置的字符串 另一种是提取连续多个位置的字符串 日志分析会遇到这种情况 下面我会分别讲一下对应的方法 一 单个位置的字符串提取 这种情况
  • 计算机文档保存了在文件夹中找不到,word文档保存后找不到了如何解决

    word文档保存后找不到了如何解决 腾讯视频 爱奇艺 优酷 外卖 充值4折起 相信很多小伙伴都在使用Word软件来编辑文档 在使用的过程中 总会遇到这样那样的问题 今天就跟大家介绍一下word文档保存后找不到了的具体解决方法 1 打开电脑上
  • 一个TCP长连接设备管理后台工程(六)---封包器与处理器

    封包器 上面介绍了过滤器 过滤器实际就是一个能够处理粘包和拆包的解析器 和封包器的作用正好相反 但是封包器会很简单 因为封包没有粘包和拆包的处理 代码如下 Packer is proto Packer api func Packer msg
  • autocomplete实现原理

    autocomplete实现原理主要用在input 和 textarea这两个标签上 为这标签增加键盘监听事件和提示列表添加鼠标事件 例如 input的id为txt 为input增加键盘监听事件 keyup var mindex 1 txt
  • postman使用教程——接口测试

    Postman 之前是作为Chrome 的一个插件 现在要下载应用才能使用 以下是postman 的界面 各个功能区的使用如下 快捷区 快捷区提供常用的操作入口 包括运行收藏夹的一组测试数据 导入别人共享的收藏夹测试数据 Import fr
  • 程序设计和C语言

    TOC程序设计和C语言 1 什么是计算机程序 一组计算机能够识别和执行的指令 计算机本质就是程序的机器 2 什么是计算机预言 机器指令 计算机能直接识别和接受的二进制代码 机器语言 机器指令的集合 符号语言 又称为汇编语言 计算机的低级语言
  • 新手月入10k很难?方法是关键!写给迷茫的测试从业者!

    关于软件测试行业前景 行业薪资 一直都是准备转行 刚刚入行甚至是在职一 两年的朋友密切关注的问题 毕竟这关系着自己未来的 钱途 也决定着自己的职业发展路线 那软件测试员 究竟该如何规划职业发展之路 如何才能月薪过万 作为过来人 分享一下我的
  • yarn清理缓存命令

    1 查看yarn全局缓存目录 yarn cache dir 2 清除缓存 yarn cache clean
  • 服务器安装文件共享软件权限,服务器共享文件权限

    服务器共享文件权限 内容精选 换一换 文件系统创建完成后 用户需在客户端挂载文件共享 在本地共享目录和CSG的文件共享建立映射 通过操作本地的目录实现对CSG共享目录的操作 实现数据实时上云管理 本章节主要介绍在Windows Server
  • 面试了30多家大厂后,整合出这份1658 页《Java 面试突击核心讲》

    面试神技 主要包含 Java 基础 JVM 多线程 MySQL Spring SpringBoot SpringCloud 分布式 Dubbo Mybatis Redis 网络 Linux MQ Zookeeper Netty 大数据 算法
  • 面试系列之JVM

    说说JVM的内存模型 方法区 存储已被虚拟机加载的类信息 常量 静态变量 即时编译后的代码等数据 堆 存放对象实例 几乎所有的对象实例都要在堆上分配 程序计数器 当前线程所执行的字节码的行号指示器 虚拟机栈 描述的是Java方法执行的内存模
  • Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢?

    转自 Java如何使用dom4j获取 添加 删除 查找 设置Element节点呢 下文笔者讲述DOM4J操作Element节点的示例分享 如下所示 获取文档的根节点 Element rootElm document getRootEleme
  • 'gbk' codec can't decode byte 0x91 in position 2: illegal multibyte sequence的解决

    今天在使用Pycharm运行程序的时候 在对文件进行分割时 出现此问题 当时代码是 f open 对话 txt r 运行就会报错 在上网搜索后发现 原来问题是出现在字符编码上 改成 f open 对话 txt r encoding UTF
  • 程序员大大们,平时都喜欢逛什么技术论坛?

    先安排个工作 再带你学技术 闲来无事戳一戳 有小惊喜 1 CSDN 中国开发者网络 https mp csdn net 中国专业IT社区 为中国软件开发者提供知识传播 在线学习 职业发展等全生命周期服务 2 GitHub 开发者最最最重要的
  • cmd中如何进入某文件目录

    步骤如下 1 按下键盘的 win R 组合键 或者是点击开始菜单中的 运行 选项 来打开运行窗口 然后在打开的运行窗口中输入 CMD 回车 2 然后就打开了CMD命令窗口了 3 如 要进入F盘中的某个目录 则输入 F 回车 然后就进入了F盘
  • Qt 多窗口的调用

    方法一 用于一个父窗口和多个子窗口的处理 不知道怎么用于处理子窗口的子窗口的处理 1 建立一个父窗口 然后建立一个QDialog类型的窗口作为子窗口 2 在父类窗口建立子窗口的对象 void 父类名 on pushButton clicke