Lazy loaded image
技术分享
🗒️PyQt5入门:Hello World!
字数 636阅读时长 2 分钟
2019-10-11
2023-9-7
type
status
date
slug
summary
tags
category
icon
password

什么是PyQt5?

PyQt5是一套Python绑定Digia QT5应用的框架。PyQt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。PyQt5是双重许可。开发者可以在GPL和商业许可之间进行选择。
PyQt5安装
通过conda安装PyQt5
conda install pyqt
通过pip安装PyQt5
pip install pyqt5

示例

简单的窗口

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_())
代码解释
这里导入了PyQt5.QtWidgets这个组件模块
import sys from PyQt5.QtWidgets import QApplication, QWidget
每个PyQt5应用都必须创建一个应用对象。sys.argv是一组命令行参数的列表。Python可以在shell里运行,这个参数提供对脚本控制的功能。
app = QApplication(sys.argv)
QWidge控件是一个用户界面的基本控件,它提供了基本的应用构造器。默认情况下,构造器是没有父级的,没有父级的构造器被称为窗口(window)。
w = QWidget()
resize()方法能改变控件的大小,这里的意思是窗口宽250px,高150px。
w.resize(250, 150)
move()是修改控件位置的的方法。它把控件放置到屏幕坐标的(300, 300)的位置。注:屏幕坐标系的原点是屏幕的左上角。
w.setWindowTitle('Simple')
我们给这个窗口添加了一个标题,标题在标题栏展示
w.show()
最后,我们进入了应用的主循环中,事件处理器这个时候开始工作。主循环从窗口上接收事件,并把事件传入到派发到应用控件里。当调用exit()方法或直接销毁主控件时,主循环就会结束。sys.exit()方法能确保主循环安全退出。外部环境能通知主控件怎么结束。
sys.exit(app.exec_())
运行结果
notion image

带按钮的窗口

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)
运行结果
notion image
 
上一篇
字节跳动提前批一面凉经
下一篇
Andoird面试题:A活动启动B活动,他们的生命周期各是怎么样的?

评论
Loading...