使用eric创建一个PyQt项目

2024-04-24 08:08
文章标签 使用 项目 创建 pyqt eric

本文主要是介绍使用eric创建一个PyQt项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.新建项目

打开eric,点击【项目】-【新建】,会弹出如下的对话框。这里我们创建一个名为pyqtdemo的项目。注意,在创建项目时,eric不会自动根据填写的项目名称修改项目文件夹名称!


点击确定之后,可以看到一个源代码树中只有__init__.py的项目。当然,此时eric还创建了几个文件,并不会在这里显示出来,他们分别是项目文件”pyqtdemo.e4p”和”_eric4project”文件夹。

2.新建窗体

将左侧的【源代码】选项卡切换至【窗体】选项卡(左数第二个)。


右键空白区域,选择【新建窗体】。


在弹出的对话框中选择【对话框】。


在弹出的文件对话框中,选择文件位置,并填写文件名称。这里,我们将其命名为pyqtdemo.ui。


确定后,就可以看到【窗体】选项卡中,有一个pyqtdemo.ui文件了。

3.设计窗体

右键点击“pyqtdemo.ui”文件,选择【在Qt设计师中打开】,我们将一睹Qt Designer的芳容。


从图中可以看到,Qt Designer分为如下几个部分:

  • 菜单栏:包括文件、编辑、窗体、视图、设置、窗口和帮助。
  • 工具栏:包括文件操作、部件前后置、编辑窗口部件、编辑信号/槽、编辑伙伴、编辑Tab顺序、布局方式、调整大小等。
  • 部件栏:包括各种可用部件。
  • 窗体设计区域
  • 对象查看器:可以查看各部件对象关系树及其所属的类
  • 属性编辑器
  • 信号/槽编辑器
  • 动作编辑器
  • 资源编辑器

3.1 修改窗体属性

默认的窗体属性中,objectName(部件名称,其他程序引用时使用)默认为Dialog,windowTitle(窗体标题)默认也是Dialog。我们可以根据自己的需要,对对话框的各个属性进行修改。这里,我只修改了windowTitle为“PyQt Demo”,并改变了其大小。

3.2 添加部件

从左侧的widget box中拖出3个PushButton,1个label。修改它们的objectName、text等属性。其中3个PushButton的ObjectName分别为btn1、btn2、btnClose。

添加后的效果图,如下图所示:


4.信号与槽

4.1 概念

在PyQt4中,事件处理的相关术语为“信号(signal)”和“槽(slot)”。

信号的含义就是我们常说的事件,比如按钮被按下、复选框勾选状态变更、可输入文本框文本变更等等。

的含义则是事件处理函数,比如关闭窗体、隐藏窗体、最大/小化、设置焦点、重绘等。

4.2 使用一个自带的槽

我们从工具栏中,选择【编辑信号/槽】。


拖动要编辑的部件,会出现一个类似于电路中接地符号的标志,并弹出对话框:


这里,我们选择clicked(),即按钮被按下,此时看到右侧可选的槽并不多,并且没有我们希望使用到的关闭功能。

勾选【显示从QWidget继承的信号和槽】,这时可以发现,右侧的槽多了很多。在其中找到close(),点击确定。此时,点击【关闭】按钮执行对话框关闭的功能就已经实现了。

下图是已经创建了【关闭】按钮槽之后的窗体设计图。


4.3 第一次运行

虽然只实现了一个关闭功能,但是还是让我们先来看看如何运行这个到目前为止一行代码都没有写过的程序吧。

现在回到eric的界面,右键“pyqtdemo.ui”,选择【编译窗体】。


短暂的时间过后,可以看到如上图的编译成功提示。这时,我们切换到【源代码】选项卡,可以看到一个名为Ui_pyqtdemo.py的文件,这就是根据刚才那个ui文件自动编译而成的,我们不需要对其进行任何修改,也不应当对其进行任何修改,因为,任何对这种文件,在下次编译后,之前的修改会全部不存在

看,下图,就是我们第一次运行时的场景。在eric里,我们可以F2直接运行,或F5进行调试。


当我按下【关闭】的时候,窗体就会被关闭。

4.4 创建一个自定义槽

使用自带槽的方式很简单,然而,它所能实现的功能也是有限的,在我们的开发中,绝大多数信号发生时,不会使用默认的槽。因此,这一小节将通过按钮1、2的实现来介绍如何创建一个自定义槽。

自定义槽,就要求自己写其中的槽函数,而之前的操作中,我们还没有动手写过一次代码,那么这个槽的代码写在哪里呢?

我们再切换回【窗体】选项卡,右键pyqtdemo.ui,选择【生成对话框代码】。

首先,点击【新建】,新建一个类,在这里可以修改类名、文件名和路径。


然后在下面的选框中,选择自己需要使用到的信号。比如,我的选择如下图所示,是两个按钮被按下时的信号:


这时,就生成了一个默认的代码。

# -*- coding: utf-8 -*-"""
Module implementing Pyqtdemo.
"""from PyQt4.QtGui import QDialog
from PyQt4.QtCore import pyqtSignaturefrom Ui_pyqtdemo import Ui_Dialogclass Pyqtdemo(QDialog, Ui_Dialog):"""Class documentation goes here."""def __init__(self, parent = None):"""Constructor"""QDialog.__init__(self, parent)self.setupUi(self)@pyqtSignature("")def on_btn1_clicked(self):"""Slot documentation goes here."""# TODO: not implemented yetraise NotImplementedError@pyqtSignature("")def on_btn2_clicked(self):"""Slot documentation goes here."""# TODO: not implemented yetraise NotImplementedError


对这个代码进行修改,实现预期的内容。

这里的修改中,其一是对import语句进行了修改,因为在一般的编程中,可能会用到QtGui和QtCore的多个类,并且默认代码的写法也可能造成命名空间的污染;其二是对于按钮被按下的状态添加了修改label文字内容的槽函数;其三,添加了窗体运行代码(见之前的文章)。

下面是按钮1被按下时候的效果图:


按钮2被按下的效果图:


这篇关于使用eric创建一个PyQt项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931193

相关文章

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展