一、提要

        QT5的体系框架是什么样子?在编程的时候总是一篇空白,这是因为对整个体系不胜了解的原因。官方帮助文档是有提到,但官方文档只是呈述事实,并不强调,因此难以记忆和学习。有必要将体系写成笔记文档,以便在头脑空白的时候,有线索可寻。

二、QT5体系内容

QT5的模块有

• QtCore
• QtGui
• QtWidgets
• QtMultimedia
• QtBluetooth
• QtNetwork
• QtPositioning
• Enginio
• QtWebSockets
• QtWebKit
• QtWebKitWidgets
• QtXml
• QtSvg
• QtSql
• QtTest

三、各个包的调用方法

  • 以上的调用格式统一为:

四、各包所包含的内容

3.1   QtCore内涵

  • QtCore 模块包含:
  • 模块包含核心类
  • 一种非常强大的无缝对象通信机制,称为信号和槽
  • 可查询和可设计的对象属性
  • 分层和可查询的对象树组织
  • 使用受保护的指针(QPointer)以自然的方式拥有对象所有权
  • 跨库边界工作的动态转换

它还包括

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())