用PyQt5做图形界面(一)Hello world
图形界面 World Hello PyQT5
2023-06-13 09:18:39 时间
PyQt是Python版本的Qt库,是最常用的跨平台图形界面编程框架之一。代码不用修改,就能同时运行在windows、linux、ios、andriod等平台。因此,对芯片设计行业来说,既可以用来开发大型EDA工具(通常用Qt的C++库),也可以用来开发公司内部的flow工具,还可以用作应用工程师的测试工具。所以,今天,以Linux平台为例,来介绍一下Python Qt的基本用法。
一、安装PyQt
我们在venv虚拟环境下安装PyQt5,方法如下:
# 建立python虚拟环境
python3 -m venv venv
# 激活虚拟环境
source ./venv/bin/activate
# 通过阿里云pypi镜像安装PyQt5库
pip3 install -i https://mirrors.aliyun.com/pypi/simple PyQt5
# 查看安装了哪些第三方库
pip3 list
最后,可以再用pip3 list来确认安装了哪些第三方库,如下图所示。
二、PyQt5主要类库的功能介绍
PyQt5中包含了很多类别的库,其中有三个库最为常用:QtWidgets、QtGui、QtCore。
- QtWidgets,我们需要的按钮、文本框、下拉框、菜单、工具条等界面上显示的东西都在这个库里。
- QtGui,这个库里有各种事件的定义,比如单击、文本框里文字改变,窗口关闭等,还包括了字体、剪贴板、调色板、图形图片等。
- QtCore,这个库里定义了各种数据类型、线程等非图形界面的内容。
三、Hello World例子
要求:我们来做一个输入框和按钮,点击按钮后把输入框里的文字打印到终端。
示例代码:
import sys
from PyQt5.QtWidgets import (QApplication,
QWidget,
QVBoxLayout,
QLineEdit,
QPushButton)
# create an app
app = QApplication(sys.argv)
# create an empty window
window = QWidget()
# create a vertical box to contain all gui components, and add vbox to window
vbox = QVBoxLayout()
window.setLayout(vbox)
# create a line edit in vbox
edit = QLineEdit()
vbox.addWidget(edit)
# define a handle function for button
def say_hello():
txt = edit.text()
print('Hello ' + txt)
# create a button, and connect clicked event to the handle function in vbox
button = QPushButton("Click Me")
button.clicked.connect(say_hello)
vbox.addWidget(button)
# show window and execute app
window.show()
ret = app.exec_()
# exit after the window is closed
sys.exit(ret)
执行效果:http://mpvideo.qpic.cn/0b2el4abiaaahmafuh66qfrvax6dcrpqafaa.f10002.mp4?
四、总结
本pyqt5 hello world示例,创建了一个文本框和一个按钮,并且点击按钮与函数say_hello()相连。在文本框中输入文字再点击按钮,就会在终端里打印出结果“Hello + 文本框内容”。
本示例与其它pyqt5教程相比,并没有使用class的写法,而是直接用函数,降低了学习门槛,更有利于初学者理解。
相关文章
- centos9/rocky linux 9/almalinux 9 安装xfce图形界面和xrdp
- 基于Qt实现的带图形界面的MIPS汇编指令的编辑器、汇编器、反汇编器、模拟器
- 【错误记录】Java AWT 图形界面编程界面中出现中文乱码 ( Run/Debug Configurations 对话框 VM options 中设置 -Dfile.encoding=gbk )
- 【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ① ( AWT 绘图线程 | Component 绘图函数 )
- 【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ② ( AWT 绘图步骤 | Graphics 绘图常用 API )
- 【Java AWT 图形界面编程】在 Canvas 画布中绘制箭头图形 ( 数据准备 | 几个关键的计算公式 | 绘制箭头直线和尾翼 )
- centOS7下安装GUI图形界面详解程序员
- Linux图形界面编程之旅(linux图形编程)
- 安装MySQL管理工具-图形界面远程管理数据库
- 使用Linux系统启动图形界面:一次快速体验(linux启动图形界面)
- 简单易懂 | Oracle安装图形界面,步骤详解(oracle安装图形界面)
- 学习Linux图形界面使用,提高工作效率!(linux图形界面使用)
- 在 Linux 中使用 Xcb 进行图形界面开发(xcblinux)
- 一款非常不错的图形界面防火墙软件。
- 学会Linux图形界面编程,知晓未来趋势(linux图形界面编程)