本文介绍: 信号和槽机制是 QT 的核心机制,应用于对象之间通信信号和槽是用来对象传递数据方法一个特定事件发生的时候signal会被emit出来,slot调用用来响应相应的signal的Qt对象已经包含了许多预定义signal(基本组件都有各自特有的预定义信号)槽函数绑定信号信号一旦发出,就会自动调用绑定的槽函数。

1. 信号和槽简介

信号和槽机制是 QT 的核心机制,应用于对象之间通信

2. 信号和槽绑定

通过调用 QObject 对象connect 函数来将对象的信号与另外一个对象的槽函数相关联,当发射者发射信号时,接收者的槽函数将被调用

点击按钮输出hello

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进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注