PythonTip >> 博文 >> 桌面开发

PyQt 中信号与槽的连接

zihua 2013-09-26 01:09:49 点击: 1084 | 收藏


1.传递一个无参数的信号

QObject.connect(self.timer, QtCore.SIGNAL("timeout()"), self.processStatus)

def processStatus(self):
    #做你想做的事情吧

2.传递一个带参数的信号

这个信号可能是基于C++,也可能是PyQT的.需要注意的是,这时参数的类型是完全与定义匹配,即使参数类型是C的.   

QObject.connect(self.view, QtCore.SIGNAL("customContextMenuRequested(const QPoint &)"), self.processCustomMenu)

def processCustomMenu(self, position):

    #做你想做的事情吧

3.现在我们来构建自己的信号

如果你的信息想传递参数,那么PyQt_PyObject就是不可缺少的东西.success是参数

QObject.connect(self.testThread, QtCore.SIGNAL("testFinished(PyQt_PyObject)"), self.testFinishedFromThread)

def testFinishedFromThread(self, success):
    print("Model Finished with success = ")
    print(success)

    #发送你的信号

    self.emit(PyCore.SIGNAL("testFinished(PyQt_PyObject)"), success)

原文链接:http://www.simple-is-better.com/news/415

作者:zihua | 分类: 桌面开发 | 标签: pyqt | 阅读: 1084 | 发布于: 2013-09-26 01时 |