0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_78858299 来源:ExASIC 作者:陈锋 2023-05-05 14:41 次阅读

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的写法,而是直接用函数,降低了学习门槛,更有利于初学者理解。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206735
  • 编程
    +关注

    关注

    88

    文章

    3440

    浏览量

    92389
  • Flow
    +关注

    关注

    0

    文章

    10

    浏览量

    8769
  • pyqt
    +关注

    关注

    0

    文章

    12

    浏览量

    4251
收藏 人收藏

    评论

    相关推荐

    【Firefly RK3399试用体验】第二篇:PyQt5大战点灯

    ;/sys/class/leds/ firefly:yellow:use/brightness//黄灯亮之后对PyQt5的安装做下介绍,ubuntu的包管理安装PyQt5时会自动安装依赖的Python等
    发表于 06-12 07:49

    【Firefly RK3399试用体验】PyQt5信号检测系统(结项)

    将介绍控制。PyQt显示提供了通道选择按钮和FFT勾选框,其中0-10是采样通道,11-13是3个TLC1543内部的测试通道,14则是Python提供测试通道,如下图所示。首先GUI界面旦有选择
    发表于 07-13 12:55

    Linux字符界面图形界面的切换

    IT技术社区)redhat linux图形界面切换到字符界面1. X-Window图形界面和字符界面自由切换
    发表于 08-22 09:19

    利用PyQt5编辑软件界面的简单步骤

    的操作以及利用PyQt5编辑软件界面的简单步骤。实现难度不大,但需要运行第二线程运行输出脉冲的程序。 首先,推荐PyQt5和Eric6的学习资料...
    发表于 09-16 07:48

    如何使用Python配合PyQT5模块来开发图形化应用程序

    By Toradex秦海1).简介随着Python在互联网人工智能领域的流行,大家也慢慢感受到Python开发的便利,本文就基于嵌入式ARM平台,介绍使用Python配合PyQT5模块来开发图形
    发表于 12-24 06:41

    鲁班猫0 ubuntu20 解决python3.10安装pyqt5

    前面用pip install pyqt5,总是安装不成功。经查阅资料,最后用:udo apt install python3-pyqt5成功安装cat@lubancat:~$
    发表于 04-09 11:04

    基于VxWorks下多页图形界面的设计

    基于VxWorks下多页图形界面的设计
    发表于 10-24 11:01 2次下载
    基于VxWorks下多页<b class='flag-5'>图形界面</b>的设计

    Linux字符界面图形界面

    本视频主要详细介绍了Linux字符界面图形界面的操作教程,具体的跟随小编一起来了解一下。
    的头像 发表于 03-02 14:14 6928次阅读

    PyQt5的中文教程电子书免费下载

     本教程的目的是带领你入门PyQt5。教程内所有代码都在Linux上测试通过。PyQt4 教程是PyQt4的教程,PyQt4是一个Python(同时支持 2和3)版的Qt库。
    发表于 08-06 08:00 11次下载
    <b class='flag-5'>PyQt5</b>的中文教程电子书免费下载

    嵌入式图形界面

    https://www.veryarm.com/50992.html嵌入式图形界面,使用于嵌入式系统的图形用户界面。随着带有嵌入式系统的产品的不断丰富,嵌入式系统硬件性能的不断提升,不但使嵌入式
    发表于 10-20 12:21 10次下载
    嵌入式<b class='flag-5'>图形界面</b>

    PyQt5图形界面(一)Hello world

    PyQt是Python版本的Qt库,是最常用的跨平台图形界面编程框架之一。代码不用修改,就能同时运行在windows、linux、ios、andriod等平台。因此,对芯片设计行业来说,既可以
    的头像 发表于 02-07 09:10 1263次阅读

    PyQT5中的QPainter类支持与图元支持实现图形绘制

    图形与图像绘制支持是一个GUI框架库的核心模块之一,从Java的Graphics2D到Android的Canvas类支持到PyQT5中的QPainter类支持与图元支持,都很好的满足了GUI库的图形绘制与渲染需求。
    的头像 发表于 02-10 11:10 1261次阅读

    何用PyQt5图形界面(二)

    今天介绍文本相关的三个组件:QLabel、QLineEdit、QTextEdit。 三者的区别是:QLabel一般用来显示提示性的文本或者说明,用户不可以直接修改内容。QLineEdit用来收集用户输入(单行文本,不能换行)。而QTextEdit用来收集用户输入的一大段文字。
    的头像 发表于 05-05 14:44 384次阅读
    如<b class='flag-5'>何用</b><b class='flag-5'>PyQt5</b>做<b class='flag-5'>图形界面</b>(二)

    使用pycharm开发上位机配置pyqt5的环境

    在上位机的开发过程中,使用QT的图形界面,是开发上位机最好最简单的选择,因此我将讲述配置pyqt5的环境。 软件安装: 安装:pycharm的社区2021.02版 QT(安装参考https
    发表于 05-29 16:12 0次下载
    使用pycharm开发上位机配置<b class='flag-5'>pyqt5</b>的环境

    基于PyQT5与ONNXRUNTIME实现风格迁移应用

    2023年一月份跟二月份创建了一个PyQT5人工智能软件开发系列的文章系列,过去的两个月都没怎么更新,心里一直想有时间继续更新下去,今天又更新了一篇,基于PyQT5实现多线程、界面化、风格迁移模型的实时推理。
    的头像 发表于 10-25 10:35 270次阅读
    基于<b class='flag-5'>PyQT5</b>与ONNXRUNTIME实现风格迁移应用