PyQt4信号与槽
事件
事件(Events)是GUI程序中很重要的一部分。它由用户或系统产生。当我们调用程序的exec_()方法时,程序就会进入主循环中。主循环捕获事件并将它们发送给相应的对象进行处理。奇趣公司(Trolltech)引入了信号和槽机制。
信号与槽
当用户单击一个按钮,拖动一个滑块或进行其它动作时,相应的信号就会发射。除此之外,信号还可以因为环境的变化而被发射。比如一个运动的始终将会发射事件信号等。而所谓的槽则是一个方法,该方法将会响应它所连接的信号。在Python中,槽可以是任何可以被调用的对象。
#!/usr/bin/python
# -*- coding: utf-8 -*- import sys
from PyQt4 import QtGui, QtCore class SigSlot(QtGui.QWidget):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent) self.setWindowTitle('moonlight poet signal & slot')
lcd = QtGui.QLCDNumber(self)
slider = QtGui.QSlider(QtCore.Qt.Horizontal, self) vbox = QtGui.QVBoxLayout()
vbox.addWidget(lcd)
vbox.addWidget(slider) self.setLayout(vbox)
self.connect(slider, QtCore.SIGNAL('valueChanged(int)'),
lcd, QtCore.SLOT('display(int)'))
self.resize(250, 150) app = QtGui.QApplication(sys.argv)
ss = SigSlot()
ss.show()
sys.exit(app.exec_())
效果:

在这个示例中,我们创建了一个LCD显示器和一个滑块,拖动滑块我们可改变LCD显示其的数字。
self.connect(slider, QtCore.SIGNAL('valueChanged(int)'),
lcd, QtCore.SLOT('display(int)'))
这里我们将滑块的valueChanged()信号连接到LCD显示其的display()槽函数上。连接方法connect有4个参数:信号发送者对象(这里是slider对象),要发射的信号(这里是valueChanged信号),信号的接受者对象(这里是lcd对象),对信号作出响应的槽函数(这里是display函数)。
PyQt4信号与槽的更多相关文章
- pyqt信号和槽传递额外参数
转载:fengyu09 环境:python2.7.8 —— pyqt 4.11.1 使用Pyqt编程过程中,经常会遇到给槽函数传递额外参数的情况.但是信号-槽机制只是指定信号如何连接到槽,信号定义的参 ...
- qt5中信号和槽的新语法
qt5中的连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧的语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec的对象(包含QWidget). connect(s ...
- Qt信号与槽自动关联机制
参考链接1:http://blog.csdn.net/skyhawk452/article/details/6121407 参考链接2:http://blog.csdn.net/memory_exce ...
- pyqt信号和槽应用举例
第一篇手写随笔. 项目的部分代码: 在子线程中改变主窗体的标签. class MyForm(QDialog): def __init__(self, parent=None): self.config ...
- 在Qt Creator 和在 vs2012 里添加信号和槽
原文地址:http://www.cnblogs.com/li-peng/p/3644812.html 作者:李鹏 出处:http://www.cnblogs.com/li-peng/ 本文版权归作者和 ...
- QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)
背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h" ...
- QT 信号与槽connect
QT 信号与槽connect QT 信号与槽connect connect函数调用几个限制 connect函数代码 QT中信号与槽的连接使用的connect函数是一个静态函数,在类QObject中定义 ...
- Qt之自定义信号和槽函数
自定义信号和槽函数: 1.类的声明和实现分别放在.h和.cpp文件中: 2.类声明包含Q_OBJECT宏: 3.信号只要声明不要设计其的实现函数 4.发射信号用emit关键字 5.自定义槽的实现与普通 ...
- Qt信号与槽应用实例一
..... connect(m_pGlobelWidget,signal(globeControlClick(object,object)),this,slot(globeControlClick(o ...
随机推荐
- 也来看看hadoop的WordCount
其实这个例子都是书上的,我也只是拿过来理解学习下. WordCount是Hadoop中的Hello, world,这是我听得最多的一个表述. 下面是WordCount.java的源码 package ...
- 设计模式-观察者模式(下)<转>
观察者模式在Java中有两种实现方式,上文是一种方式,这种方式是自己写代码实现. 另一种方式是使用Java内置的观察者模式来实现. 相关的接口和类如下: java.util.Observable ...
- 【 Linux 】单台服务器上并发TCP连接数
单台服务器上并发TCP连接数 问题:一台服务器到底能够支持多少TCP并发连接呢? 1. 文件描述符限制: 对于服务器来说,每一个TCP连接都要占用一个文件描述符,一旦文件描述符使用完,新的 ...
- jffs2制作与烧写
JFFS2全名是Journalling Flash File System Version2.最早只支持Nor Flash,自2.6版以后开始支持Nand Flash. JFFS2是Flash上应用最 ...
- Java NIO使用及原理分析 (四)(转)
在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O.通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据.同样,写入调用将会阻塞直至 ...
- flv网页视频播放
今天需要用到网页视频播放功能,找了一下,发现flowplayer很好用,写了个dome需要的同学,去下载咯 http://download.csdn.net/detail/jine515073/770 ...
- linux 获取随机数的办法
1.1.1 inux随机数的办法 http://www.2cto.com/kf/201410/342717.html 方法一.[root@ob ~]# date +%N %N纳秒 随机获取的九位 ...
- 二、Redis命令行和配置文件redis.windows.conf
一.Redis发送命令的两种方式 redis-cli -h localhost -p 6379redis-cli ping 返回pong 证明正常 二.命令返回值 1.状态回复,如ping命令 2.错 ...
- 普通windows版本安装winServer的特色功能 以dedup功能为展示点
安装 Windows 功能角色 1.选择安装源 在 Windows 8.1 系统上不存在重复数据删除功能,需要从对应的服务器版本,即 Windows Server 2012 R2 上提取相关文件. 2 ...
- 50个必备的实用jQuery代码段(转)
1. 如何创建嵌套的过滤器: //允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分.在这种情况下, //查询删除了任何没(:not)有(:has) //包含class为“s ...