一、提要
QT5的体系框架是什么样子?在编程的时候总是一篇空白,这是因为对整个体系不胜了解的原因。官方帮助文档是有提到,但官方文档只是呈述事实,并不强调,因此难以记忆和学习。有必要将体系写成笔记文档,以便在头脑空白的时候,有线索可寻。
二、QT5体系内容
QT5的模块有
• QtCore
• QtGui
• QtWidgets
• QtMultimedia
• QtBluetooth
• QtNetwork
• QtPositioning
• Enginio
• QtWebSockets
• QtWebKit
• QtWebKitWidgets
• QtXml
• QtSvg
• QtSql
• QtTest
三、各个包的调用方法
- 以上的调用格式统一为:
四、各包所包含的内容
3.1 QtCore内涵
- QtCore 模块包含:
- 模块包含核心类
- 一种非常强大的无缝对象通信机制,称为信号和槽
- 可查询和可设计的对象属性
- 分层和可查询的对象树组织
- 使用受保护的指针(QPointer)以自然的方式拥有对象所有权
- 跨库边界工作的动态转换
它还包括
- Animation Classes动画
- Threading Classes线程
- Container Classes容器
- Plugin Classes插件
- Implicitly Shared Classes容器共享内存
- State Machine Classes状态机
- Input/Output Classes输入输出类
- Event Classes事件类
3.2 QtGui
- QtGui 模块包含:
- 用于窗口系统集成、
- 事件处理、
- 2D 图形、
- 基本图像、
- 字体和文本的类。
- 它还包含一整套 OpenGL 和 OpenGL ES 绑定(请参阅对 OpenGL 的支持)。
- 应用程序开发人员通常会将此与更高级别的 API 一起使用,例如 QtWidgets 模块中包含的那些。
- 3.3 QtWidgets
五、基本窗口操作
在这篇文章中,我将向您展示如何在 PyQt5 中创建一个漂亮的窗口.如你所知 PyQT5 是一个用 Python 语言制作图形用户应用程序的 GUI 库,它是 Qt 公司开发的一个强大的库所以让我们开始你需要的第一件事,你应该从 PyQt5 导入一些模块在 PyQt5 中创建一个漂亮的 GUI 窗口的第一步。
5. 1 导入基本包
Import For GUI Window
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
- QtGui与几何外观等有关。不提供操作。
- .QtWidgets一切窗口、按钮、输入edit、输出label等的对象,提供操作入口。
- QApplication,提供主操作进程,与操作系统交互
- QMainWindow:主窗口、即所有对象的最外层Frame窗口。
在此之后,我们将为我们的 GUI 窗口创建一个类,该类将从 QMainWindow 继承,我们将创建我们的构造函数,并在构造函数中为我们的窗口标题、窗口图标、窗口宽度和高度编写一些变量。
我们还将在主构造函数中调用 self.InitWindow()初始化窗口。
5.2 窗口类定义
Import For GUI Window
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
Our Main Class
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500
self.InitWindow()
初始化函数中,准备几何常量,并初始化:self.InitWindow();
在 InitWindow() 方法中,我们将设置窗口标题,还将设置窗口图标和窗口几何形状(宽度、高度、顶部、左侧) 然后我们用 self.show 显示我们的窗口。
5.3 我们的application方法
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())
可以看出,QApplication是管理主循环程序的进入和退出的关键。
六、示例程序
import For GUI Window
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.title = "PyQt5 Window"
self.top = 100
self.left = 100
self.width = 680
self.height = 500
self.InitWindow()
def InitWindow(self):
self.setWindowIcon(QtGui.QIcon("icon.png"))
self.setWindowTitle(self.title)
self.setGeometry(self.top, self.left, self.width, self.height)
self.show()
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())