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 相关文章推荐
Python3使用turtle绘制超立方体图形示例
Jun 19 Python
详解Python使用Plotly绘图工具,绘制甘特图
Apr 02 Python
python字符串Intern机制详解
Jul 01 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
Python 50行爬虫抓取并处理图灵书目过程详解
Sep 20 Python
Python 迭代,for...in遍历,迭代原理与应用示例
Oct 12 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
python是怎么被发明的
Jun 15 Python
基于Keras的格式化输出Loss实现方式
Jun 17 Python
Python中flatten( ),matrix.A用法说明
Jul 05 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
用python制作个视频下载器
Feb 01 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
PHP 定界符 使用技巧
2009/06/14 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
编写兼容IE和FireFox的脚本
2009/05/18 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
javascript 自动填写表单的实现方法
2010/04/09 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
面向对象编程OOP的优点
2013/01/22 面试题
食品安全标语
2014/06/07 职场文书
物流管理专业自荐信
2014/06/23 职场文书
慰问信格式
2015/02/14 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
MySQL数字类型自增的坑
2021/05/07 MySQL
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏