转自:http://blog.csdn.net/hlqyq/article/details/6713828

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连接。

转载:pyqt的signal和solit的更多相关文章

  1. PyQt的signal 和 solit的补充

    from PyQt5.QtWidgets import (QWidget , QVBoxLayout , QHBoxLayout, QLineEdit, QPushButton) from PyQt5 ...

  2. 转载:pyqt线程间通过 信号/槽 通信

    转自:http://blog.sina.com.cn/s/blog_613d5bb701016qzv.html 信号(singal)与槽(slot)用于对象相互通信,信号:当某个对象的某个事件发生时, ...

  3. 调试没有core文件的coredump

    对coredump的分析中,是依赖于core文件的,而core文件中也几乎包含了程序当前的所有状态(堆栈.内存.寄存器等).然而在实际的线上环境中,由于core文件太大.保存core文件耗时太久,出于 ...

  4. [转载]使用PyQt来编写第一个Python GUI程序

    转载自:http://python.jobbole.com/81276/ 英文版出处:http://pythonforengineers.com/your-first-gui-app-with-pyt ...

  5. 【转载】 Pyqt QStackedWidget堆栈窗体

    转载地址: http://blog.csdn.net/a649518776/article/details/6636578 下面用代码实现上面窗口的设计 # -*- coding: utf-8 -*- ...

  6. 【转载】Pyqt QSplitter分割窗口

    转载来自: http://blog.sina.com.cn/s/blog_4b5039210100h3ih.html 分割窗口在应用程序中经常用到,它可以灵活分布窗口布局,经常用于类似文件资源管理器的 ...

  7. 【转载】Pyqt 添加右键菜单方法

    转载地址: http://www.cnblogs.com/yogalau/p/3954042.html?utm_source=tuicool QListWidget 是继承 QWidget 的, 所以 ...

  8. 【转载】pyqt QTableWidget的使用

    转载地址: http://blog.sina.com.cn/s/blog_9b78c91101019sgi.html QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中 ...

  9. 非常好的一篇对linux信号(signal)的解析 (转载)【转】

    转自:https://blog.csdn.net/return_cc/article/details/78845346 Linux信号(signal) 机制分析 转载至:https://www.cnb ...

随机推荐

  1. Selenium中定位元素的方法

    find_element_by_id()find_element_by_name()find_element_by_class_name()find_element_by_tag_name()find ...

  2. jQuery中的text(),html(),val()用法

    jQuery中的text(),html(),val()用法 text():获取或者改变指定元素的文本 html():获取或改变指定元素的html元素以及文本 val():获取或者改变指定元素的valu ...

  3. CentOS 6.5下二进制安装 MySQL 5.6

    CentOS 6.5 二进制安装MySQL 5.6 1:查看系统版本 [root@10-4-5-9 mysql]# cat /etc/redhat-release CentOS release 6.5 ...

  4. iOS 全屏侧滑/UIScrollView/UISlider间滑动冲突

    代码地址如下:http://www.demodashi.com/demo/13848.html 效果预览 一.前期准备 有一个支持全屏侧滑返回的视图控制器ViewController,ViewCont ...

  5. Maven构建项目时index.jsp文件报错

    错误为:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 原 ...

  6. MySQL-安全对调两个表名

    我们想要的是同时完成表名对调,如果是先后的对掉,用RENAME的话可能会导致有些数据写入失败,那怎么办? 其实也不难,从MySQL手册里就能找到方法,那就是:同时锁定2个表,不允许写入,然后对调表名. ...

  7. 总结一些js自定义的函数

    1.dayin() 作用:将id为dayin的内容,新建页面并打印,可解决打印某页面中的部分内容的问题. 使用方法:将要打印的内容通过 <span id="dayin"> ...

  8. C#:Application操作(待补充)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. blender, 旋转和平移视图

    旋转视图:MMB(鼠标中键) 平移视图:shift+MMB

  10. 【打CF,学算法——二星级】Codeforces Round #313 (Div. 2) B. Gerald is into Art(水题)

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/B 题面: B. Gerald is into Art time limit per t ...