本文介绍: 信号和槽机制是 QT 的核心机制,应用于对象之间的通信信号和槽是用来在对象间传递数据的方法当一个特定事件发生的时候,signal会被emit出来,slot调用是用来响应相应的signal的Qt中对象已经包含了许多预定义的signal(基本组件都有各自特有的预定义的信号)槽函数绑定了信号,信号一旦发出,就会自动调用绑定的槽函数。
1. 信号和槽简介
- 信号和槽是用来在对象间传递数据的方法
- 当一个特定事件发生的时候,
signal
会被emit
出来,slot
调用是用来响应相应的signal
的 - Qt中对象已经包含了许多预定义的
signal
(基本组件都有各自特有的预定义的信号) - 槽函数绑定了信号,信号一旦发出,就会自动调用绑定的槽函数
2. 信号和槽绑定
通过调用 QObject 对象的 connect 函数来将对象的信号与另外一个对象的槽函数相关联,当发射者发射信号时,接收者的槽函数将被调用
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
import sys
# 槽函数
def click():
print('hello1')
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
# 修改窗口标题
w.setWindowTitle('信号和槽的绑定')
"""------------------ 添加按钮 ------------------"""
btn = QPushButton()
btn.setText('点我')
btn.setParent(w)
# 绑定按钮点击的信号和处理的槽函数
"""------------------ 方式1:槽函数使用函数 ------------------"""
# clicked 信号
# click定义的槽函数
btn.clicked.connect(click)
"""------------------ 方式2:槽函数使用lambda表达式 ------------------"""
# 信号和槽函数参数必须要保持一致
# 如果信号中参数有= 槽函数可以不用添加
btn.clicked.connect(lambda: print('hello2'))
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
使用PyQt的槽函数
利用系统自带退出函数QApplication.quit
点击按钮,关闭窗口
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import QIcon
import sys
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
# 修改窗口标题
w.setWindowTitle('使用系统的槽函数')
"""------------------ 创建按钮 ------------------"""
btn = QPushButton()
btn.setText('关闭窗口')
# 显示按钮
btn.setParent(w)
"""------------------ 信号和槽绑定 ------------------"""
btn.clicked.connect(QApplication.quit) # 使用QApplication的quit方法
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
原文地址:https://blog.csdn.net/bug_love/article/details/134817234
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_46560.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。