如何将PyQt4信号绑定到另一个对象的插槽?

时间:2015-06-02 04:29:08

标签: python qt python-2.7 pyqt4

我正在制作数字标牌树莓派。我需要使用pyqt4进行简单的幻灯片放映。

我想将信号绑定到一个插槽,该插槽是来自不同类的函数。这是我的代码:

from PyQt4.QtCore import QObject, pyqtSignal
import glob

class Signals(QObject):
 trigger = pyqtSignal(object)
 def connect(self):
    self.trigger.connect(self.alter)
 def alter(self,func):
    func.advance()
 def e(self,f):
    self.trigger.emit(f)


class Slide:
 def __init__(self):
    self.position = 0
    self.slidelst = glob.glob('bkgrnd*.jpg')
 def populate(self):
    self.slidelst = glob.glob('bkgrnd*.jpg')
 def advance(self):
    if self.position == len(self.slidelst)-1:
        self.position = 0
    else:
        self.position+=1
        print("signal")
 def current(self):
    return self.slidelst[self.position]

此代码无法正常运行,而是说我的对象实例' Slide'没有属性' advance'。我也尝试过重新设计,以便连接直接连接到幻灯片类的advance方法......但是我一直无法在没有类型错误的情况下运行(Python需要函数类型而不是NoneType)。 / p>

请帮帮我!对不起基本问题,自我上一次计算机科学课以来已经很久了......

0 个答案:

没有答案