PyQt 系列之Hello World

PyQt5是Python制作GUI应用程序的框架。 该模块具有620多个类和6000种功能和方法。 它是一个跨平台的GUI工具包,可以在所有主要操作系统(包括UNIX,Windows,Mac OS)上运行。 PyQt5是双重许可的。 开发人员可以在GPL和商业许可之间进行选择。

 

PyQt5安装

通过conda安装PyQt5

conda install pyqt

通过pip安装PyQt5

pip install pyqt5

 

PyQt Hello World示例

一个简单的窗口

import sys

from PyQt5.QtWidgets import QApplication, QWidget

if __name__ == '__main__':
    app = QApplication(sys.argv)

    w = QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()

    sys.exit(app.exec_())

代码解释

QtWidgets组件模块已在此处导入。

import sys
from PyQt5.QtWidgets import QApplication, QWidget

每个PyQt5应用程序必须创建一个应用程序对象。sys.argv是命令行参数的列表。python可以在shell中运行。此参数提供对脚本的控制。

app = QApplication(sys.argv)

QWidget控件是提供基本应用程序构造函数的基本UI控件。默认情况下,构造函数没有父项,没有父项的构造函数称为窗口。

w = QWidget()

resize()方法可以更改控件的大小,这意味着窗口的宽度为250px,高度为150px。

w.resize(250, 150)

move()是一种修改控件位置的方法。它将控件放置在屏幕坐标的(300,300)位置。注意:屏幕坐标系的原点是屏幕的左上角。

w.setWindowTitle('Simple')

我们在此窗口中添加了一个标题,该标题显示在标题栏中

w.show()

最后,我们处于应用程序的主循环中,事件处理器此时开始工作。主循环从窗口接收事件,并将事件传递到分派到应用程序控件。当调用exit()方法或直接销毁主控件时,主循环结束。sys.exit()方法可确保安全退出主循环。外部环境可以告诉主机如何结束。

sys.exit(app.exec_())

python pyqt hello world

带按钮的窗口

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout

if __name__ == '__main__':    
    app = QApplication(sys.argv)
    w = QWidget()    
    layout = QHBoxLayout()
    btn = QPushButton("Hello World!")
    layout.addWidget(btn)
    w.setLayout(layout)
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()
    sys.exit(app.exec_())

代码解释

QHBoxLayout类,按从左到右的顺序添加控件。这里是新的水平布局。

layout = QHBoxLayout()

创建一个新按钮

btn = QPushButton("Hello World!")

将按钮添加到布局,布局将自行安排

layout.addWidget(btn)

设置母版的布局

w.setLayout(layout)

button widget in python pyqt window

标签

发表评论