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中xrange用法分析
Apr 15 Python
Python max内置函数详细介绍
Nov 17 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
Python中extend和append的区别讲解
Jan 24 Python
详解python之heapq模块及排序操作
Apr 04 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
MxNet预训练模型到Pytorch模型的转换方式
May 25 Python
基于python代码批量处理图片resize
Jun 04 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
Jan 28 Python
python实现求纯色彩图像的边框
Apr 08 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
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
php函数array_merge用法一例(合并同类数组)
2013/02/03 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
Prototype使用指南之ajax
2007/01/10 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
jQuery操作css样式
2017/05/15 jQuery
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
python检测服务器是否正常
2014/02/16 Python
python根据出生年份简单计算生肖的方法
2015/03/27 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python