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实现跨文件全局变量的方法
Jul 07 Python
使用基于Python的Tornado框架的HTTP客户端的教程
Apr 24 Python
python实现线程池的方法
Jun 30 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
Oct 07 Python
Python中enumerate函数代码解析
Oct 31 Python
用TensorFlow实现lasso回归和岭回归算法的示例
May 02 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
May 20 Python
为什么说python适合写爬虫
Jun 11 Python
Python jieba库分词模式实例用法
Jan 13 Python
浅谈python数据类型及其操作
May 25 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
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
bootstrap weebox 支持ajax的模态弹出框
2017/02/23 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
Python 文件和输入输出小结
2013/10/09 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python实现读取类别频数数据画水平条形图案例
2020/04/24 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
java字符串格式化输出实例讲解
2021/01/06 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
美国宠物商店:Wag.com
2016/10/25 全球购物
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
大学军训感言
2014/01/10 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
小学教师节活动方案
2014/01/31 职场文书
工作迟到检讨书
2014/02/21 职场文书
卫生标语大全
2014/06/21 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
学习保证书
2015/01/17 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技
Python时间操作之pytz模块使用详解
2022/06/14 Python