PyQt5:发射信号(18)

原创 2016年06月01日 00:32:43

学习《PyQt4入门指南 PDF中文版.pdf 》笔记


继承自QtCore.QObject的对象均可以发射信号。如果我们单击一个按钮,那么一个clicked()信号就会被触发。在接下来的示例中,我们将学习如果手动发射一个信号。

<span style="font-size:12px;">#!/usr/bin/python
# emit.py

from PyQt5.QtWidgets import QApplication
from PyQt5 import QtWidgets
from PyQt5.QtCore import pyqtSignal

class Emit(QtWidgets.QWidget):
    closeEmitApp = pyqtSignal()
    def __init__(self, parent= None):
        QtWidgets.QWidget.__init__(self)
  
        self.setWindowTitle('escape')
        self.resize(350,  300)
        self.closeEmitApp.connect(self.close)
     
    def mousePressEvent(self, event):
            self.closeEmitApp.emit()

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = Emit()
    qb.show()
    sys.exit(app.exec_())</span>

        在以上的示例中,我们创建了一个新的信号closeEmitApp(),该信号在按下鼠标事件发生时被发射。

         self.closeEmitApp.emit()

         使用PyQt内建的emit函数来发射信号closeEmitApp()

         self.closeEmitApp.connect(self.close)

         当触发信号槽后,使用connect函数手动创建的信号-槽连接起来,来执行close函数。这个时候用户按下鼠标的任意键时,程序就会结束。


版权声明:本文为博主原创文章,未经博主允许不得转载。

Pyqt5系列(八)-自定义信号

PyQt5已经自动定义了很多QT内建的信号。但是在实际的使用中为了灵活使用信号与槽机制,我们可以根据需要自定义signal。可以使用pyqtSignal()方法定义新的信号,新的信号作为类的属性。...
  • zhulove86
  • zhulove86
  • 2016年09月17日 15:13
  • 5567

PyQt 的一些小总结 (信号槽,弹框)

一些基本的资料网上都可以找到,这里就说一下这几天遇到的 1,PYQt4 中信号槽机制: 本想点击一个按钮然后实现去另一个函数,最初这样写的: self.connect(button, QtC...
  • u013652219
  • u013652219
  • 2014年07月21日 20:22
  • 3907

PyQt之玩转signal(信号)与slot(槽)一:介绍及简单实例

信号与槽机制作为Qt最重要的特性,提供了任意两个Qt**对象**之间的通信机制。其中,信号会在某个特定情况或动作下被触发,槽是用于接收并处理信号的函数。每个Qt对象都包含预定的信号和槽,当一某一特定事...
  • u011943221
  • u011943221
  • 2015年07月22日 17:14
  • 3720

pyQt不同窗体间的值传递(二)——使用信号槽机制

使用QT编程的精髓就在于信号槽机制的灵活运用,信号和槽机制可以使互不相关的对象绑定在一起,实现对象之间的通信。     QT通过信号槽来传递和相应消息,与windows下消息机制相比,消息机...
  • shawpan
  • shawpan
  • 2015年07月16日 20:36
  • 3670

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

from PyQt5 import QtWidgets,QtCore from untitled import Ui_Form import time class MyWindow(QtWid...
  • a359680405
  • a359680405
  • 2015年04月20日 15:06
  • 16178

pyqt signal 发射参数的类型

''' conclusion: QtCore.pyqtSignal is able to send several types of variable including int QString QS...
  • solofly752
  • solofly752
  • 2012年05月17日 15:32
  • 3212

PyQT-自定义信号的使用

一、前言 由于前段时间需要编写一些脚本用于测试,并使之UI化。但是在使用线程中调用需要与GUI的线程交互,正常使用回调会提示错误,查了一些资料显示需要使用信号传递。 网上也没有具体描述此类问题的解...
  • studyCBC
  • studyCBC
  • 2015年06月24日 10:04
  • 1286

PyQt5教程(四)——事件与信号

在这部分教程中我们将探讨在程序内部发生的事件与信号。事件所有的GUI程序都是事件驱动的。事件主要由用户触发,但也可能有其他触发方式:例如网络连接、window manager或定时器。当我们调用QAp...
  • baidu_34045013
  • baidu_34045013
  • 2016年08月05日 21:35
  • 3498

PyQt5系列教程(十一)发送信号时传参

软硬件环境 Windows 10 PyQt5 Python3.4 前言在PyQt5编程中,经常需要在某个signal发送时附带相应的数据,实际上就是传参,然后在slot方法中接收传递过来的数据,这样...
  • djstavaV
  • djstavaV
  • 2017年03月08日 22:26
  • 1229

PyQt5学习笔记16----PyQt信号和槽传递额外参数

使用Pyqt编程过程中,经常会遇到给槽函数传递额外参数的情况。但是信号-槽机制只是指定信号如何连接到槽,信号定义的参数被传递给槽,而额外的参数(用户定义)不能直接传递。 而传递额外参数又是很有用处。...
  • a359680405
  • a359680405
  • 2015年04月24日 15:00
  • 6761
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:发射信号(18)
举报原因:
原因补充:

(最多只允许输入30个字)