网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

如何用PyQt5做图形界面(一)

时间:2023-05-05 14:41

人气:

作者:admin

标签: 编程  pyqt  FLOW  Linux 

导读:PyQt是Python版本的Qt库,是最常用的跨平台图形界面编程框架之一。代码不用修改,就能同时运行在windows、linux、ios、andriod等平台。因此,对芯片设计行业来说,既可以用来开发大型EDA工...

PyQt是Python版本的Qt库,是最常用的跨平台图形界面编程框架之一。代码不用修改,就能同时运行在windows、linuxios、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)

四、总结

本pyqt5 hello world示例,创建了一个文本框和一个按钮,并且点击按钮与函数say_hello()相连。在文本框中输入文字再点击按钮,就会在终端里打印出结果“Hello + 文本框内容”。

本示例与其它pyqt5教程相比,并没有使用class的写法,而是直接用函数,降低了学习门槛,更有利于初学者理解。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信