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 相关文章推荐
pycharm 使用心得(三)Hello world!
Jun 05 Python
python验证码识别的示例代码
Sep 21 Python
Python找出最小的K个数实例代码
Jan 04 Python
python读取文本中的坐标方法
Oct 14 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
python实现图片九宫格分割
Mar 07 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
python 读取二进制 显示图片案例
Apr 24 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 Python
Python Selenium库的基本使用教程
Jan 04 Python
python playwright之元素定位示例详解
Jul 23 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设计模式之迭代器模式
2016/06/17 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
javascript 表单规则集合对象
2009/07/21 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
详解Vue用cmd创建项目
2019/02/12 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
python 生成器需注意的小问题
2020/09/29 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
五年级语文教学反思
2014/01/30 职场文书
企业总经理职责
2014/02/02 职场文书
日语专业求职信
2014/07/04 职场文书
员工趣味活动方案
2014/08/27 职场文书
学习党代会心得体会
2014/09/05 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
高中地理教学反思
2016/02/19 职场文书
python playwright 自动等待和断言详解
2021/11/27 Python