Qt新星计划学习
前言
这次的学习主要是跟随 鱼弦芝士的博客-CSDN博客 导师的新星计划展开的学习。主要包括:了解 Qt 的作用,底层原理及其具体实现,在最终实现一些具体应用。
活动地址:新星计划2023【Qt 基础概念和体系架构详解、以及相关应用】学习方向报名入口!-CSDN社区
介绍
Qt是什么?
Qt是一种跨平台的C++应用程序开发框架,它提供了一套丰富的工具和库,用于开发图形用户界面(GUI)应用程序、嵌入式系统和移动设备应用程序等。
C++区别于C最主要的点我觉得就是面向对象和面向过程的开发。之前博主学习java的时候对面向对象有一定了解。
基本特点
-
Qt元对象系统:这是一个Qt系统的框架。
首先,基类是 Qobject;然后实例化的对象是 Meta Object;元对象要用特殊的编译器 MOC 元对象编译器来编译;对象之间可以通过信号槽机制通信(下面介绍);还有一些Q_PROPERTY宏,动态对象创建等。
-
对象之间通信的机制:信号槽机制。一个对象有信号函数,另一个对象有槽函数,中间通过连接函数连接,这样两者就能传递数据了。
class MySender : public QObject { signals: void mySignal(int val); } class MyReceiver : public QObject { slots: void mySlot(int val); } MySender* sender = new MySender; MyReceiver* receiver = new MyReceiver; QObject::connect(sender, SIGNAL(mySignal(int)), receiver, SLOT(mySlot(int))); ———————————————— 版权声明:本文为CSDN博主「鱼弦芝士」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/feng1790291543/article/details/131802400
java中是如何处理对应需求的呢,事件:每个组件可以绑定事件,比如按钮绑定按下后就触发事件函数做处理;或者是观察者模式,一个对象可以观测另一个对象状态改变的时候自己做出对应反应。
-
事件驱动编程:类似于java的事件,对象中可以重写事件处理函数(如鼠标点击事件);可以添加事件过滤函数,在中途拦截处理事件;可以给特定对象发送事件。
-
Qt 强大的跨平台能力:不过要求我们尽可能使用 Qt 的 API 而不是平台独有的 API。
扫描二维码关注公众号,回复: 15978369 查看本文章
安装
笔者安装过程中遇到如下问题:
- 好像 5.15 后版本 Qt 要花钱买 license,只有10天体验时间。于是笔者又回去下载了旧版本。
- 安装的时候尽量选择国内镜像源的,官网下载特慢。
- 勾选额外安装组件的时候勾选两种 Mingw,和所有带 Qt 开头的组件。