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

2024-06-22 21:04

本文主要是介绍qt基本窗口类(QWidget,QDialog,QMainWindow),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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提供的类并不知道什么时候调用它,所以要先将标准信号函数与自定义的信号函数关联起来,当标准的信号函数触发就会调用自定义的信号函数,自定义的信号函数又和自定义的槽函数关联着,就会触发自定义的槽函数。

这篇关于qt基本窗口类(QWidget,QDialog,QMainWindow)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085402

相关文章

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

基于Redis有序集合实现滑动窗口限流的步骤

《基于Redis有序集合实现滑动窗口限流的步骤》滑动窗口算法是一种基于时间窗口的限流算法,通过动态地滑动窗口,可以动态调整限流的速率,Redis有序集合可以用来实现滑动窗口限流,本文介绍基于Redis... 滑动窗口算法是一种基于时间窗口的限流算法,它将时间划分为若干个固定大小的窗口,每个窗口内记录了该时间

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节

Qt实现文件的压缩和解压缩操作

《Qt实现文件的压缩和解压缩操作》这篇文章主要为大家详细介绍了如何使用Qt库中的QZipReader和QZipWriter实现文件的压缩和解压缩功能,文中的示例代码简洁易懂,需要的可以参考一下... 目录一、实现方式二、具体步骤1、在.pro文件中添加模块gui-private2、通过QObject方式创建

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript