加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、安装PyQt
    • 二、PyQt5主要类库的功能介绍
    • 三、Hello World例子
    • 四、总结
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

用PyQt5做图形界面(一)Hello world

2023/02/17
1415
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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 sysfrom PyQt5.QtWidgets import (QApplication,                             QWidget,                             QVBoxLayout,                             QLineEdit,                             QPushButton)
# create an appapp = QApplication(sys.argv)
# create an empty windowwindow = QWidget()
# create a vertical box to contain all gui components, and add vbox to windowvbox = QVBoxLayout()window.setLayout(vbox)
# create a line edit in vboxedit = QLineEdit()vbox.addWidget(edit)
# define a handle function for buttondef say_hello():    txt = edit.text()    print('Hello ' + txt)
# create a button, and connect clicked event to the handle function in vboxbutton = QPushButton("Click Me")button.clicked.connect(say_hello)vbox.addWidget(button)
# show window and execute appwindow.show()ret = app.exec_()
# exit after the window is closedsys.exit(ret)

四、总结

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

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

 

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
VSSRC20AB470330UF 1 Vishay Intertechnologies Resistor/Capacitor Network, RC NETWORK, BUSSED, 1W, 47ohm, 0.000033uF, SURFACE MOUNT, SSOP-20, SSOP, ROHS COMPLIANT
暂无数据 查看
SMMBT2222ALT1G 1 onsemi NPN Bipolar Transistor, SOT-23 (TO-236) 3 LEAD, 3000-REEL

ECAD模型

下载ECAD模型
$0.25 查看
2-34854-1 1 TE Connectivity 6.64mm2, COPPER ALLOY, TIN FINISH, RING TERMINAL
$0.54 查看

相关推荐

电子产业图谱

公众号ExASIC号主,从事数字IC设计10余年,主要分享日常工作中的经验和技巧,分享让工作更轻松。