neverstop00 2019-06-28
QT是一套基于C++语言的跨平台GUI框架,Qt 可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。你只需要编写一次代码,发布到不同平台前重新编译即可。
pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python3。
pyqt5的官方网站http://www.riverbankcomputing...。
pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。pyqt5是双重许可。开发者可以在GPL和商业许可之间进行选择。
和大多数典型的编程教程一样,“Hello World”的例子是必须的,在这里给出了一个基本的创建图形窗口并显示一些内容。
# !/usr/bin/python` from PyQt5.QtWidgets import * import sys class Window(QWidget): def __init__(self): QWidget.__init__(self) self.setWindowTitle("Hello") Gri_layout = QGridLayout() # 创建一个网格布局 self.setLayout(Gri_layout) # 添加到布局环境中 label = QLabel("Hello World") # 创建一个label空间并示"Hello world"文本 Gri_layout.addWidget(label, 0, 0) # 将label添加到网格布局中 app = QApplication(sys.argv) # 创建一个app screen = Window() screen.show() # 显示 sys.exit(app.exec_()) # 退出
第一行hashbang,声明了要使用的python版本。
第二行和第三行的导入语句允许我们导入其它模块,包括Qt。
类声明定义了我们的窗口以及它将要使用的对象类型,在这里使用可QWidget对象类型,QWidget.__init__(self)定义该类型是winsow对象,并允许直接在类上设置weindow方法。
示例中的第八行定义了window的标题,并显示在标题栏上。
Qt中的window对象一次只能显示一个对象。允许添加其它对象,使用一个可以显示多个项目的容器,在这个例子中,网格布局被使用并分配给window。
在第十四行,Label被构建,并传递参数"Hello World"字符串将会显示。然后在第十五行将label添加到布局当中,用0, 0 表示网格中的位置,label将添加到左上角。
然后在sys.exit语句中执行Qt主循环。
Window 通常是每个图形应用程序的基础,并用于显示其它小部件。