qt基本窗口类(QWidget,QDialog,QMainWindow)

news2024/10/5 19:25:56

1.三个基本窗口类

1.1QWidget

所有窗口的基类

可以内嵌到其他窗口的内部,无边框

也可以作为独立窗口显示,有边框

1.2QDialog

继承于QWidget

对话框窗口类

不可以内嵌到其他窗口

有模态和非模态两种显示方式

1.3QMainWind

继承于QWidget

主窗口类

不可以内嵌

可以包含菜单栏,工具状态栏

2.qt中的坐标体系

3.qt内存回收机制

对象树

OBject,当一个对象创建时指定了其父对象的时候,该对象会被加载到其父对象的child树中,当其父对象析构时候,其子对象也会析构。qt保证所有对象只被析构一次

QWidget继承了Object,自然也就有这种内存回收机制

4.信号槽的概念

说白了就是信号与回调函数,信号就是触发的事件,槽就是对应事件的处理函数

信号与槽本身就是两个函数,是独立的,需要进行关联

通过connect函数

/*
sender是发送的对象指针,
signal是对象所属类的信号函数地址,
recevier是信号的接收对象的指针
slot是接收对象所属类的槽函数地址
*/
connect(*sender, &Sender::signal, *receiver, &Receiver::slot);

这种方法一般是qt5的,如果存在函数重载就会比较麻烦,因为信号和槽函数都是用的函数指针

Qt4方法

connect(*sender, SIGNAL(signal(arg1, arg2, ...)), *receiver, SLOT(slot(arg1, arg2, ...)));

这种方法可以给函数传递对应的参数,比较方便

5.自定义的信号和槽函数

这些函数一般都是类的成员函数,匿名函数,或者静态函数,全局函数

因为是自定义的,qt提供的类并不知道什么时候调用它,所以要先将标准信号函数与自定义的信号函数关联起来,当标准的信号函数触发就会调用自定义的信号函数,自定义的信号函数又和自定义的槽函数关联着,就会触发自定义的槽函数。

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

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

相关文章

前端Web开发HTML5+CSS3+移动web视频教程 Day1

链接 HTML 介绍 写代码的位置:VSCode 看效果的位置:谷歌浏览器 安装插件 open in browser: 接下来要保证每次用 open in browser 打开的是谷歌浏览器。只需要将谷歌浏览器变为默认的浏览器就可以了。 首先进入控制面板,找到默…

【会议征稿,ACM出版】2024年图像处理、智能控制与计算机工程国际学术会议(IPICE 2024,8月9-11)

2024年图像处理、智能控制与计算机工程国际学术会议(IPICE 2024)将于2024年8月9-11日在中国福州举行。本届会议由阳光学院、福建省空间信息感知与智能处理重点实验室、空间数据挖掘与应用福建省高校工程研究中心联合主办。 会议主要围绕图像处理、智能控…

QtCreator/VS中制作带有界面的静态库

1、可参考以下文章 QT中制作带有界面的动态库 2、相比动态库,静态库就更简单了,,, 1)创建静态库项目 2)直接右键创建同名窗口类进行覆盖 3)编译生成静态库 4)使用 3、上述都是基于QtCreator来制作的含有界面的静态库,下面基于VS2017来制作带有界面的静态库 …

Temu(拼多多跨境电商) API接口:获取商品详情

核心功能介绍——获取商品详情 在竞争激烈的电商市场中,快速、准确地获取商品数据详情对于电商业务的成功至关重要。此Temu接口的核心功能在于其能够实时、全面地获取平台上的商品数据详情。商家通过接入Temu接口,可以轻松获取商品的标题、价格、库存、…

Day6 —— 电商日志数据分析项目部署流程

项目二 _____(电商日志数据分析项目) 项目部署过程相关依赖运行结果截图统计页面浏览量日志的ETL操作统计各个省份的浏览量 项目部署过程 以IDEA 2023版本为例 步骤一:创建一个空项目,命名为demo_2,并指定语言类型和构…

oracle 主从库中,从库APPLIED为YES ,但是主库任然为NO

主库 从库 从库已经APPLIED但是主库为APPLIED, 主数据库和备用数据库之间的ARCH-RFS心跳Ping负责更新主数据库上v$archived_log的APPLICED列。 在主数据库上有一个指定的心跳ARCn进程来执行此Ping。如果此进程开始挂起,它将不再与远程RFS进程通信&#…

2024-06-23 编译原理实验4——中间代码生成

文章目录 一、实验要求二、实验设计三、实验结果四、附完整代码 补录与分享本科实验,以示纪念。 一、实验要求 在词法分析、语法分析和语义分析程序的基础上,将C−−源代码翻译为中间代码。 要求将中间代码输出成线性结构(三地址代码&#…

STM32F103ZET6基于HAL库实现CAN回环测试和中断接收

简介 在野火STM32F103ZET6开发板上基于HAL库实现了CAN回环测试,并通过PCAN客户端工具和串口打印的方式,分别验证了CAN数据发送成功和CAN数据中断接收成功。 STM32F1开发板测试 STM32测试程序 发送函数 /** 函数名:CAN_SetMsg* 描述 &am…

Windows安全中心打开白屏的解决方法

Windows安全中心打开白屏的解决方法: 1. 复制以下内容,打开记事本粘贴并保存,同时将记事本文件的【txt后缀名改为reg】: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defende…

RTA_OS基础功能讲解 2.10-调度表

RTA_OS基础功能讲解 2.10-调度表 文章目录 RTA_OS基础功能讲解 2.10-调度表一、调度表简介二、调度表配置2.1 同步三、到期点配置四、启动调度表4.1 绝对启动4.2 相对启动4.3 同步启动五、到期点处理六、停止调度表6.1 重新启动被停止的调度表七、切换调度表八、选择同步策略8.…

NSIS 入门教程 (三)

引言 在教程的第二部分中,我们为安装程序增加了一个卸载程序,并查看了一些其他的向导页面以及安装部分的选择。第三部分的目标是使安装程序的外观更加现代化。 更现代的外观 为了给安装程序一个更现代的外观,我们要启用现代用户界面。要提…

UnityShader——基础篇之UnityShader基础

UnityShader基础 UnityShader概述 材质和UnityShader 总的来说,在Unity中需要配合使用材质(Material)和 Unity Shader 才能达到需要的效果,常见流程为: 创建一个材质创建一个 Unity Shader,并把它赋给上一步中创建的材质把材质…

AcWing算法基础课笔记——求组合数4

求组合数Ⅳ 用来解决求 C a b C_a^b Cab​的问题(没有模运算) 解决办法:分解质因数,实现高精度乘法。 C a b a ! b ! ( a − b ) ! C_a^b \frac{a!}{b!(a - b)!} Cab​b!(a−b)!a!​ 其中 a ! a! a!可以用 p p p的倍数来表示…

自动驾驶仿真:Carsim转向传动比设置

文章目录 一、转向传动比概念二、设置转向传动比1、C factor概念2、Steer Kinematics概念3、传动比计算公式 三、转向传动比验证 一、转向传动比概念 转向传动比(Steering Ratio)表示方向盘转动角度与车轮转动角度之间的关系。公式如下: 转向…

计算机网络 动态路由OSPF

一、理论知识 1.OSPF基本概念 ①OSPF是一种链路状态路由协议,使用Dijkstra算法计算最短路径。 ②OSPF使用区域(Area)来组织网络,区域0(Area 0)是主干区域。 ③路由器通过通告直连网络加入OSPF域。 ④反…

QT中制作带有界面的静态库

1、可参考以下文章 QT中制作带有界面的动态库 2、相比动态库,静态库就更简单了,,, 1)创建静态库项目 2)直接右键创建同名窗口类进行覆盖 3)编译生成静态库 4)使用

人工智能导论笔记

目录 ​编辑 绪论篇 有关知识表示和推理的零碎知识点 机器学习篇 K-近邻算法(KNN) 人工神经网络与深度学习篇 人工神经元模型 人工神经网络 BP神经网络 卷积神经网络 搜索策略 状态空间表示法 盲目搜索 启发式图搜索策略 绪论篇 3个学派&a…

实战篇:GY-906红外测温模块 + 万年历(定时器计数中断版本) -STM32篇

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 向上代码兼容GD32F450ZGT6中使用 后续项目主要在下面该专栏中发布: https://blog.csdn.net/qq_62316532/category_12608431.html?spm1001.2014.3001.5482 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转…

视频批量剪辑新境界:一键转码MP4至MP3并自动删除原文件,轻松优化存储空间与播放体验

随着数字媒体的飞速发展,视频文件已成为我们生活中不可或缺的一部分。然而,大量视频文件的累积不仅占据了宝贵的存储空间,而且在某些情况下,我们更希望提取视频中的音频内容。为了满足这一需求,我们推出了全新的视频批…

LLVM——安装多版本LLVM和Clang并切换使用(Ubuntu)

1、描述 本机(Ubuntu22)已经安装了LLVM-14,但是需要使用LLVM-12。安装LLVM-12和Clang-12并切换使用。 2、过程 安装LLVM-12和Clang-12。 sudo apt-get install llvm-12 sudo apt-get install clang-12 【注】运行 sudo apt-get install ll…