转载:pyqt的signal和solit
2015-07-09 16:30
253 查看
转自:http://blog.csdn.net/hlqyq/article/details/6713828
signal即可以和solit连接,也可以和signal连接。
import sys from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt from PyQt5.QtWidgets import QWidget, QApplication class MyWidget(QWidget): Signal_NoParameters = pyqtSignal() Signal_OneParameter = pyqtSignal(int) Signal_OneParameter_Overload =pyqtSignal([int],[str]) Signal_TwoParameters = pyqtSignal(int,str) Signal_TwoParameters_Overload =pyqtSignal([int,int],[int,str]) def mousePressEvent(self, event): self.Signal_NoParameters.emit() self.Signal_OneParameter.emit(1) self.Signal_OneParameter_Overload.emit(1) self.Signal_OneParameter_Overload[str].emit("abc") self.Signal_TwoParameters.emit(1,"abc") self.Signal_TwoParameters_Overload.emit(1,2) self.Signal_TwoParameters_Overload[int, str].emit(1,"abc") @pyqtSlot() def setValue_NoParameters(self): print('''无参数槽方法''') pass @pyqtSlot(int) def setValue_OneParameter(self,nIndex): print( '''一个参数(整数)槽方法''', nIndex) pass @pyqtSlot(str) def setValue_OneParameter_String(self,szIndex): print( '''一个参数(字符串)的槽方法''', szIndex) pass ##@pyqtSlot(int,int) def setValue_TwoParameters(self,x,y): print( '二个参数(整数,整数)槽方法', x, y) pass ## @pyqtSlot(int,str) 加不加槽修饰没看出来啥区别。。。 def setValue_TwoParameters_String(self,x,yx): print('二个参数(整数,字符串)槽方法', x, yx) pass app = QApplication(sys.argv) widget = MyWidget() widget.show() widget.Signal_NoParameters.connect(widget.setValue_NoParameters,Qt.QueuedConnection) widget.Signal_OneParameter.connect(widget.setValue_OneParameter,Qt.QueuedConnection) widget.Signal_OneParameter_Overload[int].connect(widget.setValue_OneParameter,Qt.QueuedConnection) widget.Signal_OneParameter_Overload[str].connect(widget.setValue_OneParameter_String,Qt.QueuedConnection) widget.Signal_TwoParameters.connect(widget.setValue_TwoParameters,Qt.QueuedConnection) widget.Signal_TwoParameters_Overload[int,int].connect(widget.setValue_TwoParameters,Qt.QueuedConnection) widget.Signal_TwoParameters_Overload[int,str].connect(widget.setValue_TwoParameters_String,Qt.QueuedConnection) sys.exit(app.exec_())
signal即可以和solit连接,也可以和signal连接。
相关文章推荐
- qt学习笔记(七)之数据库简介
- qt学习笔记(六)之简析对象树
- qt学习笔记(五)之浅析信号与槽进制
- qt学习笔记(四)之对话框-Qt内建对话框
- qt学习笔记(三)之对话框-QDialog
- qt学习笔记(二)之布局管理器&信号与槽(简介)
- qt学习笔记(一)之Hello world
- 隐式共享:qt
- QTabBar 和 QTabWidget部件 页签
- mqtt push结构图
- 基于QT机械手臂示教器开发
- 丁林松老师的QT视频及教程源码,讲解比较基础适合新手
- 窗口最大化、最小化以及全屏显示
- 静态编译Qt5.4.1和Qt WebKit
- solaris11.2下编译QT-配置命令
- Qt 创建一个线程执行某个函数
- ROS学习手记 - 6 使用ROS中的工具:rqt_console & roslaunch & rosed
- OSGEarth嵌入Qt的QGraphicsView框架(二)
- OSGEarth嵌入Qt的QGraphicsView框架(一)
- qt5.5 windows