Python按钮的响应事件详解


Posted in Python onMarch 04, 2019
import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMainWindow
from test import Ui_MainWindow
from PyQt5.QtWidgets import QFileDialog
class MyPyQT_Form(QMainWindow, Ui_MainWindow):
  def __init__(self):
    super(MyPyQT_Form, self).__init__()
    self.setupUi(self)
  # 实现pushButton_click()函数,textEdit是我们放上去的文本框的id
  def pushButton_click(self):
    #self.showText.setText("你点击了按钮")
    dir_path = QFileDialog.getExistingDirectory(self, "choose directory", r"C:\Users\Administrator\Desktop")
    self.showText.setText(dir_path)
if __name__ == '__main__':
  app = QtWidgets.QApplication(sys.argv)
  my_pyqt_form = MyPyQT_Form()
  my_pyqt_form.show()
  sys.exit(app.exec_())

一、使用QT Desinger设计程序主界面

2.1 设计界面

在PyCharm中创建一个项目,然后点击“Tools”--“External Tools”--“QTDesinger”打开QT Desinger

Python按钮的响应事件详解

Python按钮的响应事件详解

然后向Form中拖入一个“Push Button”和一个“Text Edit

Python按钮的响应事件详解

2.2 指定点击事件及其响应函数

在工具栏点击信号-槽编缉按钮----光标移动到“PushButton”按钮上----鼠标左键点击“PushButton”不要松开--拖动光标到Form的任一位置后再松开鼠标左键

Python按钮的响应事件详解

经过上边的操作就出现了如下界面,“pushButton”侧选中“click()”,“Form”侧点击“Edit

Python按钮的响应事件详解

在上边“Slots”点击绿色“+”按钮,指定click事件的响应函数,名称随意定比如我这里命名为“pushButton_click()

(我们这里只是指定事件与响应函数的关联关系,函数是还没实现的,后边我们自行实现)

Python按钮的响应事件详解

Python按钮的响应事件详解

这样界面设计和事件关联就完成了,我们下来选择保存,将文件保存到项目的根目录下

Python按钮的响应事件详解

二、使用PyUIC将文件转成python代码

关闭QT Designer回到PyCharm,查看项目,可以看到只有刚才保存的PyQT_Form.ui文件而且该文件在PyCharm是打不开的

我们需要将这个文件转成.py代码才能使用

Python按钮的响应事件详解

选中“PyQT_Form”,在其上点击鼠标右键,到“External Tools”中点击“PyUIC

Python按钮的响应事件详解

完后再看项目文件,就可以看到多了一个“PyQT_Form.py”,双击查看其内容如下:

Python按钮的响应事件详解

三、实现程序

应该来说我们只要在上边的“PyQT_Form.py”中,将需要的包导入---添加pushButton_click()函数实现代码----实例化Ui_Form类,实现这三步程序应该就差不多了

但是PyQT_Form.py是PyUIC文件按照“PyQT_Form.ui”生成的,如果我们需要去调整PyQT_Form.ui(比如调整按钮位置调整文本框大小,后续调整界面在实际编程中基本是必然需求)

调整完后重新生成PyQT_Form.py时,PyUIC可不会管当前我们已经在PyQT_Form.py中写了什么代码,旧PyQT_Form.py会直接被新PyQT_Form.py覆盖

也就是说,所有逻辑代码我们都不应当写入PyQT_Form.py文件(或者叫不要动PyQT_Form.py文件),我们新建一个文件在里边创建一个子类(MyPyQT_Form)继承PyQT_Form.py中的Ui_Form

3.1 实现代码

在项目中新建一个.py文件

3.2 运行演示

右键选择运行

Python按钮的响应事件详解

运行界面如下

Python按钮的响应事件详解

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python使用sorted函数对列表进行排序的方法
Apr 04 Python
python fabric使用笔记
May 09 Python
python魔法方法-属性转换和类的表示详解
Jul 22 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
python遍历 truple list dictionary的几种方法总结
Sep 11 Python
tensorflow学习教程之文本分类详析
Aug 07 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
Jan 03 Python
Python importlib动态导入模块实现代码
Apr 16 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
python dict乱码如何解决
Jun 07 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
python 实现控制鼠标键盘
Nov 27 Python
Python中三元表达式的几种写法介绍
Mar 04 #Python
Python生成器的使用方法和示例代码
Mar 04 #Python
Python去除字符串前后空格的几种方法
Mar 04 #Python
python调用外部程序的实操步骤
Mar 04 #Python
Python实现的合并两个有序数组算法示例
Mar 04 #Python
python创造虚拟环境方法总结
Mar 04 #Python
Python3爬楼梯算法示例
Mar 04 #Python
You might like
咖啡产品发展的三大浪潮
2021/03/04 咖啡文化
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
php密码生成类实例
2014/09/24 PHP
php pdo操作数据库示例
2017/03/10 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
python中引用与复制用法实例分析
2015/06/04 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
浅析python内置模块collections
2019/11/15 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
机械专业应届生求职信
2013/12/12 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
应届大专生求职信
2014/06/26 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
开学典礼致辞
2015/07/29 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
Java实现多文件上传功能
2021/06/30 Java/Android
Python实现自动玩连连看的脚本分享
2022/04/04 Python