
Qt
文章平均质量分 91
欢迎来到 Qt 开发进阶 博客专栏!在这里,我们将深入探讨 Qt 框架的各种特性和最佳实践,帮助你从初学者成长为高级开发者。无论你是刚刚接触 Qt 的新手,还是已经有一定经验的开发者,这里都有适合你的内容。
行十万里人生
“211”院校本科在读,专注于C/C++编程语言、Linux操作系统编程、网络协议编程等计算机科学与技术领域。
但行好事,莫问前程。
展开
-
Qt 信号与槽机制
当信号发送者 sender 或接收者 receiver 被销毁时,Qt 会自动断开所有相关的信号与槽的连接(一个信号可以连接多个槽,一个槽可以被多个信号所连接),所以通常无需手动 disconnect。槽函数可以像普通函数一样直接调用,无需通过信号触发,且槽函数支持重载(多个同名但参数不同的槽函数)。信号 和 槽 的本质都是函数,子类会自动继承父类的所有信号和槽(包括直接父类和间接父类)。接收 信号 的前 N 个参数(N 为槽函数的参数数量),多余的信号参数被自动忽略。是,在特定事件发生时,发出的通知;原创 2025-03-14 11:03:20 · 866 阅读 · 0 评论 -
Qt 对象树详解:从原理到运用
对象树是一种基于父子关系的对象管理机制。在 Qt 中,所有继承自QObject的类都可以参与到对象树中。当一个对象被设置为另一个对象的父对象时,子对象会被添加到父对象的内部列表中,形成一种树状结构。Qt 提供了一个调试工具方法,可以帮助开发者打印对象树的结构。原创 2025-02-27 00:53:46 · 1218 阅读 · 21 评论 -
Qt 事件处理:理解处理器、过滤器与事件系统
如果希望在事件滤波器 B 处理完事件后,仍然让目标对象 A 继续处理该事件,可以在事件滤波器逻辑的末尾 return false。例如,用户按下鼠标左键,会产生一个 QMouseEvent 对象,该对象包含了关于鼠标点击的所有信息,包括点击的位置、按钮的状态等;事件过滤器允许拦截发送给某个对象的所有事件,并在这些事件被该对象处理之前,决定如何处理它们。每个事件对象包含该事件的所有相关信息,如:鼠标事件包含鼠标的坐标、按下的按钮等信息。当用户与应用程序进行交互,或系统内部发生某些变化,就会产生相应的事件。原创 2025-01-31 14:45:22 · 1841 阅读 · 27 评论 -
Qt 控件与布局管理
QWidget是所有界面对象的基类,代表了一个可以显示和交互的窗口部件(控件),如:按钮、标签、窗口。每个QWidget可以有自己的几何属性(位置、大小)、样式、事件处理机制等。QLayout是一个抽象基类,用于管理一组QWidget的布局。它的主要作用是,自动调整这些控件的位置和大小,以便它们能适应不同的窗口大小和分辨率。。原创 2025-01-22 10:41:18 · 1592 阅读 · 19 评论