pyside6--核心版本的信号与槽的小示例
一、自定义的信号与槽的示例
1.1界面函数
还是使用上次的常用功能组件的界面,只是这次我 只使用按钮以及标签进行测试
1.2主函数核心代码
# 导入 t1gui_ui _ui
from t1gui_ui import Ui_Form
from PySide6.QtWidgets import QApplication, QMainWindow
# 导入信号signal
from PySide6.QtCore import Signal
import sys
# 继承 Ui_MainWindow类
class MyMainWindow(QMainWindow,Ui_Form):
# pysingnal=PySide6.QtCore.Signal(str) # 定义信号
mysignal = Signal(str) # 定义信号
def __init__(self):
super().__init__()
self.setupUi(self)
self.bind()
def bind(self):
#按钮的触发事件
self.pushButton.clicked.connect(self.showDialog)
# 绑定信号与槽
self.mysignal.connect(self.mysignal_receive)
# 接受信号的槽函数
def mysignal_receive(self,text):
self.label_2.setText(text)
print("receive signal")
def showDialog(self):
# label lineedit的内容设置
self.lineEdit_name.setText("hello,world!")
self.label.setText(self.lineEdit_name.text())
# 发生信号
self.mysignal.emit("hello, is happy!")
if __name__ == "__main__":
app = QApplication(sys.argv)
myWin = MyMainWindow()
myWin.show()
# sys.exit(app.exec_())
sys.exit(app.exec())
#
1.3代码分析
绑定信号与槽的关系
接受处理信号的槽函数,信号发射过来触发的内容
什么时候发射信号,按钮点击后,触发的槽函数showDialog,然后发生信号,在触发对应的槽函数
二、总结 触发过程
2.1按钮触发----->showDialog槽函数
2.2showDialog槽函数----->启动自定义信号(mysignal)的发射
2.3自定义信号触发自己的槽函数【mysignal------>】
首先自定义信号找寻自己与对应的槽函数的关联关系
2.4这个时候自定义信号找到关联的槽函数,在发送信号
mysignal---------------->mysignal_receive(self,text):
2.5信号发送以及触发过程完成