PyQt5学习笔记06----Qt Designer自定义信号emit及传参

from PyQt5 import QtWidgets,QtCore
from untitled import Ui_Form
import  time

class MyWindow(QtWidgets.QWidget,Ui_Form):
    _signal=QtCore.pyqtSignal(str)                         #定义信号,定义参数为str类型
    def __init__(self):
        super(MyWindow,self).__init__()
        self.setupUi(self)
        self.myButton.clicked.connect(self.myPrint)
        self._signal.connect(self.mySignal)               #将信号连接到函数mySignal

    def myPrint(self):
        self.tb.setText("")
        self.tb.append("正在打印,请稍候")
        self._signal.emit("你妹,打印结束了吗,快回答!")
    def mySignal(self,string):
        print(string)
        self.tb.append("打印结束")

if __name__=="__main__":
    import sys  

    app=QtWidgets.QApplication(sys.argv)
    myshow=MyWindow()
    myshow.show()
    sys.exit(app.exec_())  

运行结果

注意:当信号与槽函数的参数数量相同时,它们参数类型要完全一致。信号与槽不能有缺省参数。 当信号的参数与槽函数的参数数量不同时,只能是信号的参数数量多于槽函数的参数数量,且前面相同数量的参数类型应一致,信号中多余的参数会被忽略。此外,在不进行参数传递时,信号槽绑定时也是要求信号的参数数量大于等于槽函数的参数数量。这种情况一般是一个带参数的信号去绑定一个无参数的槽函数。

可以出传递的参数类型有很多种:str、int、list、object、float、tuple、dict等等

时间: 2024-08-29 12:55:20

PyQt5学习笔记06----Qt Designer自定义信号emit及传参的相关文章

Servlet学习笔记(八)—— 自定义过滤器的编写改进:自定义实现FilterChain

笔记六中实现了三种过滤器:字符编码过滤.登录权限过滤.敏感词过滤,但是有个缺陷就是,限定了过滤顺序,而不能实现先进行request过滤,最后response过滤,并且中间几项过滤的顺序不能动态改变.所以这里做个改进,实现一个过滤顺序的FilterChain. 多个Filter的执行顺序在这篇博文中得到很仔细的讲解,总结一点,多个过滤器的执行顺序是根据web.xml中不同<filter-mapping>的顺序来先后执行的,比如: <?xml version="1.0"

【NetCore学习笔记之TagHelper】自定义自己的TagHelper

自打Netcore推出以来,很多人是紧追不舍,关注度颇高,一时间让它成为了asp.net中的一等公民.我也是其中一份子,顶多算是一个伪粉丝吧,因为关注不太多,不够深. 今天,主要记录的学习笔记是:如何自定义自己的Taghelper.话不多说,直入正题: 1.定义接口 public interface ICountryService { IEnumerable<CountryModel> GetAll(); } 2.定义接口实现类 public class CountryService : IC

iOS学习笔记06—Category和Extension

iOS学习笔记06—Category和Extension 一.概述 类别是一种为现有的类添加新方法的方式. 利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法,包括那些没有源代码的类(如某些框架类). 二.示例 1.声明类别 @interface NSString (CategoryDemo) -(NSNumber*)

Git学习笔记(9)——自定义配置

本文主要记录了Git的一些易用化的配置和别名的使用 配置Git的命令输出带有颜色,更加醒目 //配置输出颜色 $ git config --global color.ui true //取消输出颜色 $ git config --global color.ui false 忽略特殊文件配置 有些时候,必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件等等,每次git status都会显示Untracked files ...,这让有强迫症的我们好难受啊. Git

Servlet学习笔记(六)—— 自定义过滤器的编写

Boss今天让我写一个类似BBS留言板的过滤器,要求对字符编码.登录权限.敏感词进行过滤操作. 总体分两模块: 一.过滤器 //Filter.java package lewa; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public interface Filter { public void init(); public void doFilter(ServletRequest reu

PyQt5学习笔记05----Qt Designer信号槽

先入一些信号槽的基本介绍: 信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方.它为高层次的事件处理自动生成所需要的附加代码.在我们所熟知的很多 GUI 工具包中,窗口小部件 (widget) 都有一个回调函数用于响应它们能触发的每个动作,这个回调函数通常是一个指向某个函数的指针.但是,在 QT 中信号和槽取代了这些凌乱的函数指针,使得我们编写这些通信程序更为简洁明了. 所有从 QObject 或其子类 ( 例如 Qwidget) 派生的

PyQt5学习笔记04----Qt Designer控件的通用属性

在Qt Designer中的右边为我们提供了窗体.控件.布局的属性编辑功能. 比较常用的有: objectName 控件对象名称 例:quitButton= QtWidgets.QPushButton() 等号前面的那个名字 geometry 相对坐标系 sizePolicy 控件大小策略 minimumSize最小宽度.高度 maximumSize最大宽度.高度  如果想让窗体或控件固定大小,可以将mini和max这两个属性设置成一样的数值 font 字体 cursor 光标 windowTi

PyQt5学习笔记13----pyqt线程间通信

信号(singal)与槽(slot)用于对象相互通信,信号:当某个对象的某个事件发生时,触发一个信号,槽:响应指定信号的所做的反应,其实信号槽类似于.NET里面的委托.事件,比如Repeater控件类,当行数据绑定后,触发一个ItemDataBound事件,不管使用者使用会监听该事件并做额外处理,其控件类内部都会触发该事件,这种机制很多程度提高了类的封装性和完整性. PyQt的窗体控件类已经有很多的内置信号,开发者也可以添加自己的自定义信号,信号槽有如下特点: - 一个信号可以连接到许多插槽.

PyQt5(1)——Qt Designer初探

相关环境配置我们就不介绍了(网上有很多教程) Qt Designer 是一款十分强大的GUI工具,生成的文件为 .UI文件  可以通过命令转化为Py文件,简单来说我们可以通过拖拽方式生成界面,在通过简单的一条命令来把生成的UI文件转化为Py文件. 我们先来看以下 designer界面 : 我们一般选择 新建文件   Main windows. 我们来看一下界面主要分为几个区域: 这里我使用PyUIC自动将生成的 UI文件转化为 PY文件.(大家自己上网查找) 点击PyUIC自动生成 py文件 如