PyQt5入门教程

这篇具有很好参考价值的文章主要介绍了PyQt5入门教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PyQt5入门教程

假定已有环境如下:

Windows

Python

VSCode

(我们接下来会准备pyqt5和其desinger,没必要手搓qt5界面代码,手搓它,还不如用Tkinter)


1.安装PyQt5

下面使用pip来安装PyQt5,(pip3也行)

豆瓣镜像安装

pip install PyQt5 -i http://pypi.douban.com/simple/ 

2.因为Qt Designer在Python3.5版本从PyQt5转移到了tools,故还需要安装pyqt5-tools

pip install pyqt5-tools

到这一步,PyQt5就安装完成了,检查下是否已经安装成功:

Win+S召唤出 搜索框,输入designer,如果看到跟下图类似的结果说明PyQt Designer已经被安装

PyQt5入门教程

(可能由于各式各样的原因,可能qt desinger无法命令行安装,直接百度qt desinger 下载一个也行,其大小大致在30-40mb)


初识Qt Designer

Qt Designer的界面是全英文的,有汉化方法,有需要自行搜索。

1.总之,先打开它,怎么打开都行

(不知道安装到哪了就,Win+S搜索框,输入designer并敲回车,就能够启动Qt Designer了。)

初次启动会弹出这个“New Form”窗口,一般来说选择“Main Window”然后点击“Create”就可以了。

下方有个“Show this Dialogue on Startup”的checkbox,如果不想每次启动都看到这个“New Form”窗口,可以取消勾选。

PyQt5入门教程

创建“Main Window”之后,我们会看到如下画面

PyQt5入门教程
下面就来简单介绍下整个画面的构成:
左侧的“Widget Box”就是各种可以自由拖动的组件
中间的“MainWindow - untitled”窗体就是画布
右上方的"Object Inspector"可以查看当前ui的结构
右侧中部的"Property Editor"可以设置当前选中组件的属性
右下方的"Resource Browser"可以添加各种素材,比如图片,背景等等,目前可以不管
大致了解了每个板块之后,就可以正式开始编写第一个UI了

HelloWorld!

通常来说,编写GUI有两种方法:第一种就是直接使用方便快捷的Qt Designer,第二种就是写代码。在有Qt Designer的情况下,是完全不推荐费时费力去手写GUI代码的。Qt Designer可以所见即所得,并且可以方便的修改并做出各种调整。

按照惯例,我们先来实现一个能够显示HelloWorld的窗口。

1)添加文本 ,编辑

在左侧的“Widget Box”栏目中找到“Display Widgets”分类,将“Label”拖拽到屏幕中间的“MainWindow”画布上,你就获得了一个仅用于显示文字的文本框,如下图所示。

PyQt5入门教程

再双击上图中的“TextLabel”,可对文本进行编辑,这里我们将其改成“HelloWorld!”,如下图所示。如果文字没有完全展示出来,可以自行拖拽空间改变尺寸。

编辑完文本之后记得敲击回车令其生效!

3)添加按钮

使用同样的方法添加一个按钮(PushButton)并将其显示的文本改成“HelloWorld!”,如下图所示。

PyQt5入门教程

4)修改窗口标题

下面修改窗口标题。选中右上方的"Object Inspector"中的“MainWindow”,然后在右侧中部的"Property Editor"中找到“windowTitle”这个属性,在Value这一栏进行修改,修改完记得敲击回车。

5)编辑菜单栏

注意到画布的左上方有个“Type Here”,双击它即可开始编辑菜单栏。菜单栏支持创建多级菜单以及分割线(separator)。我随意创建了一些菜单项目,如下图所示。

PyQt5入门教程

6)预览

使用快捷键Ctrl+R预览当前编写的GUI(或者从菜单栏的Form > Preview / Preview in进入)

PyQt5入门教程

7)保存

如果觉得完成了,那就可以保存成.ui的文件,这里命名为name.ui。

8)生成Python代码

使用cmd将目录切到刚刚的ui文件下。请自行将下面命令中的name替换成文件名,比如本例中的“HelloWorld.ui”

pyuic5 -o name.py name.ui

9)运行Python代码

此时尝试运行刚刚生成的“name.py”是没用的,闪现一下结束运行了。

我们在同一个目录下另外创建一个程序叫做“main.py”,并复制如下内容。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

import file_name                        #第一处
#(更改所有file_name 为之前生成的界面py的文件名,如name,不加.py)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = file_name.Ui_MainWindow()     #第二处
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

然后运行“main.py”,你就能看到刚刚编写的GUI了!

PyQt5入门教程

10)组件自适应

如果你刚刚尝试去缩放窗口,会发现组件并不会自适应缩放,因此我们需要回到Qt Designer中进行一些额外的设置。

点击画布空白处,然后在上方工具栏找到grid layout或者form layout,在本例中我们使用grid layout。

PyQt5入门教程

顺带一提,上图中layout的左边有三条横线以及三条竖线的图标,这两个是用于对齐组件,非常实用。

设置grid layout后,我们使用Ctrl+R预览,这次组件可以自适应了!因为我们已经将UI(HelloWorld.py/HelloWorld.ui)跟逻辑(main.py)分离

功能实现

刚刚写的HelloWorld中,我们设置的按钮(PushButton)是没有实际作用的,因为我们并没有告诉这个按钮应该做什么。实际上,要让这个按钮做点什么只需要增加一行代码就可以了。

1)获取按钮id

打开HelloWorld.ui,在designer中选中对应的按钮,从“Property Editor”中可以得知这个按钮的“objectName”叫做“pushButton”,如下图所示。

PyQt5入门教程

2)设置触发

Qt中有“信号和槽(signal and slot)”这个概念,不过目前无需深究,也无需在Designer中去设置对应按钮的“信号和槽”,直接在“main.py”中“MainWindow.show()”的后面加入下面这样的一行代码

ui.pushButton.clicked.connect(button_clicked)

#下面简单解释下这行代码
#pushButton就是刚刚获取的按钮id
#clicked就是信号,因为是点击,所以我们这里用clicked
#button_clicked就是对应要调用的槽,注意这里函数并不写成button_clicked()

3)设置函数

既然刚刚设置了按钮的触发并绑定了一个函数,我们就要在“main.py”中实现它。示例如下

def button_clicked():
    print("临时显示以用来提意!")

4)运行!

UI跟逻辑分离的好处就在这里,我们这次不用去管“HelloWorld.py”了,直接运行修改完的“main.py”。点击按钮,这次你会发现在控制台中有了我们预设的输出。

到这里就差不多了,基本完成

实战,写个带GUI的汇率转换

1)设计UI

PyQt5入门教程

2)传参

我们已经介绍了如何让按钮响应点击操作,但是并没有接受任何参数,而且只是在控制台输出。但是,已经说明了并不能通过正常的方式进行传参。因此,对于传参,有两种解决方案,一种是使用lambda,还有一种是使用functool.partial。在接下来的环节中我们会使用partial。

partial的用法如下所示:

partial(function, arg1, arg2, ......)
#既然使用partial传参,那么我们就要在程序(main.py)的头部加上下面这行。
from functools import partial
#然后我们把上一节中的按钮触发那行代码修改成下面这样。
ui.pushButton.clicked.connect(partial(convert, ui))

3)编写convert函数

首先,我们要获取用户输入的数字。为了使得教程简洁易懂,我们这次只讲解单向的汇率转换。既然是单项的转换,那么我们只需要获取左侧的文本框id。在本例中,左侧的文本框id为lineEdit。如果你对此感到一头雾水,请停下并回头复习。

#获取文本使用的是text()方法,因此读取用户输入的代码如下
input = ui.lineEdit.text()
#接着我们进行汇率转换,注意这里要进行类型转换
result = float(input) * 6.71
#最后我们让右边的文本框显示结果
ui.lineEdit_2.setText(str(result))
#下面是convert函数的代码
def convert(ui):
    input = ui.lineEdit.text()
    result = float(input) * 6.7
    ui.lineEdit_2.setText(str(result))1234

一个简单的汇率转换器就这样诞生了!

那么,如何知道一个组件都有什么方法呢?直接去Qt官方文档查看就可以了。本节使用到的lineEdit的相关方法在这里文章来源地址https://www.toymoban.com/news/detail-481932.html

到了这里,关于PyQt5入门教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python进阶-PyQt5】00搭建PyQt5环境

    我们编写的程序,有时用到的Python库是不一样的,比如说开发桌面应用程序我们主要用到PyQt5相关的Python库、开发Web应用程序我们主要用到Django相关的Python库等等。假设我们在开发桌面应用程序的时候除了PyQt5相关的Python库外,还附加了其他的Python库,比如有关Django的Python库。

    2024年02月08日
    浏览(43)
  • PyQt5入门(一)——PyQt5与QtDesigner的安装

    首先,需要确保你已经安装了Python和PIP,因为使用PIP来安装PyQt5是最简便的方法。以下是在Windows和Ubuntu环境下配置并安装PyQt5以及QtDesigner的步骤: 打开命令提示符(CMD)。 运行以下命令安装PyQt5:pip install pyqt5 安装完成后,在命令提示符中运行“python”命令,然后输入“im

    2024年02月02日
    浏览(52)
  • Maven入门教程(一):安装Maven环境

    视频教程:Maven保姆级教程 Maven入门教程(一):安装Maven环境 Maven入门教程(二):idea/Eclipse使用Maven Maven入门教程(三):Maven语法 Maven入门教程(四):Nexus私服 Maven入门教程(五):自定义脚手架 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项

    2024年02月11日
    浏览(37)
  • 【入门级】Pycharm安装教程及环境配置

    安装Pycharm之前,建议大家先把Python安装好哈。 第一步,下载Pycharm安装包 【----帮助Python学习,以下所有学习资料文末免费领!----】 直接下载社区版就行哈。 下载好之后,双击安装包,进行安装。 第二步,点击【NEXT】 第三步,保持默认安装路径,直接点击【NEXT】 第四步,

    2024年02月12日
    浏览(44)
  • Python入门教程 | Python简介和环境搭建

    Python是一种高级编程语言,由荷兰人Guido van Rossum于1991年创建。它以其简单易学、可读性强和丰富的生态系统而受到广泛喜爱。它被广泛应用于各个领域,包括Web开发、科学计算、数据分析、人工智能等。 简洁易读:Python采用清晰简洁的语法,使用缩进来表示代码块,而不是

    2024年02月12日
    浏览(37)
  • PyQt5入门1——PyQt5的安装与Hello World应用

    搞搞可视化界面哈,虽然不一定有用,但是搞一下。 PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版

    2024年02月12日
    浏览(58)
  • Python 安装教程,新手入门(超详细)含Pycharm开发环境安装教程

    目录 一、Python介绍 二、Python安装教程 (一)Python的下载 (二)Python的安装 三、Pycharm开发工具的安装 (一)Pycharm介绍 (二)Pycharm的下载 (三)Pycharm的安装 ​        Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替

    2024年01月20日
    浏览(86)
  • 关于PyQt5的环境搭建

    目录 一、需要的环境 二、安装python 1、python安装链接 三、安装PyQt5 1、使用豆瓣的镜像  2、配置环境变量 四、安装pycharm 1、pycharm官网链接 五、配置环境 1、找到设置 2、添加designer 3、配置ui 4、配置rc 六、注意问题 1、安装好python安装包 2、安装好PyQt5模块 3、安装好PyCharm软件

    2024年02月08日
    浏览(41)
  • Jmeter(一) - 从入门到精通 - 环境搭建(详解教程)

         Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对

    2024年02月10日
    浏览(48)
  • PyQt5 快速入门(一)

    第一节按钮控件,文本控件,输入框,app图标 文章目录 一.GUI按钮控件 二.文本控件  三.输入框   四.让窗口显示在屏幕中央  五.让窗口显示在屏幕中央 总结   快速入门第一节

    2024年01月23日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包