团队名称:Great Bee
大家好,本团队此次分享的内容为开发过程中使用到的PYQT 应用程序框架及开发工具。
pYqt 是一个多平台的 python 图形用户界面应用程序框架,由于其面向对象、
易扩展(可实现组件编程等特点,已成为嵌入式领域的重要开发工具
PyQt 是一个创建 GUI 应用程序的工具包。它是 Python 编程语言和 Qt 库的成功融合。因为可用的类有很多,他们被分成几个模块。QtCore 模块包含核心的非 GUI 功能。该模块用于时间、文件和目录、各种数据类型、流、网址、类型、线程或进程。QtGui 模块包含图形组件和相关的类,例如按钮、窗体、状态栏、工具栏、滚动条、位图、颜色、字体等。
QT 类库是一个跨平台的面向对象的 py 类库,目前主要用于 Linux 下的开发。Q T 类库大致可以分为三个部分:控件、框架和工具。
控件:控件部分包括环境控件,主窗口控件,标准对话框,基本的 GUI 控件,扩
展 GUI 控件,GUI 组织控件,以及帮助系统控件。
框架:框架部分包括的是一些抽象的类,通常不可见,如对象模型、抽象控件、绘图、拖放、控件外观。对象模型是框架的基础,如 QObject。可见的控件一般从抽象控件派生,如 QButton。绘图类控制绘图,如 QBrush。拖放类控制拖放操作,
如 QDragObject。控件外观类控制控件的外观如颜色、字体等。例如 QColor。
工具:工具部分包括时间日期和链表树等数据结构,它们和 GUI 无关。普通工具包括链表、堆栈、队列、树等常见数据结构,如 QArray。图形处理工具控制图像的编码/解码算法。如 QImageIO。I/O 控制工具处理 I/O 的一些类,如 QFile。 时间和日期工具类处理时间和日期,如 Qdate,QTime。另外还有其他杂类如Qsignal,QIconSet 等。
对象间通讯是面向对象程序设计的一个极其重要的内容,类似 MicrosoftMFC的消息映射和事件循环,Q T 的对象间通讯采用的是 signal-slot 机制, signal 就好像是事件,而 slot 则是响应事件的方法,如果需要实现对象间的通讯,只需要把一个对象的 slot 和另外一个对象的 signal“连接起来”就可以实现“事件驱动”。
在 Q T 中 signal 是一个全新的东西,它既不属于成员函数也不是变量,用户可以自定义 signal,下面是自定义 signal 的例子:
signals:
void created();
自定义的 signal 可以在需要的时候发送,要发送上面的 signal,可以用下面的
语句:
em it created();