QT入门学习(五):QT对象模型

前言

前面简单介绍了QT的元对象系统以及QT的信号和槽,接下来让我们继续了解下,相对于C++,QT增加了哪些特性。

  1. 非常强大的对象通信机制,称为信号和槽
  2. 可查询和可设计的对象属性
  3. 强大的事件和事件过滤器
  4. 用于国际化的字符串翻译
  5. 复杂的计时器,可以在事件驱动的GUI中集成很多任务
  6. 以自然方式组织对象所有权的分层和可查询对象树
  7. 受保护的指针(QPointer)在被引用对象被销毁时自动设置为0
  8. 跨库边界的动态转换
  9. 支持自定义类型创建

这些都是QT给我们提供的特性,在了解这些特性之前,我们要先了解QT关于对象模型的基础知识。

阅读更多

QT入门学习(四):QT信号槽

前言

凡是桌面应用程序,都会有消息处理,QT也不例外。

QT的信号是广播传递的,当一个按钮检测到被点击时,就发送一个信号(signal)。如果有对象对这个信号感兴趣,那么它必须使用连接(connect)函数,来把这个信号与自己的函数绑定在一起。当信号发生时,绑定的函数会自动被调用。为了方便,我们把绑定的函数称为为槽函数。

阅读更多

QT入门学习(二):QT国际化

前言

接下来学习下QT的国际化,QT国际化主要依赖于QTranslator类来实现的。

首先让我们概括的看下步骤:

  1. 在项目的pro文件中引入ts文件
  2. 写代码引用翻译
  3. 点击QT Createor 菜单栏中的工具 -》 外部 -》Qt语言家 -》更新翻译,这样会在项目目录自动生成ts文件(如果存在就更新该文件)
  4. 使用Linguist工具来编辑ts文件
  5. 使用Linguist工具发布ts文件,将ts文件编译成qm文件

假如添加新的国际化字符串,需要从2开始重复操作。

阅读更多