我正在使用Python 3.4与Pyside 1.2.4和PyQt 4.8.7,当我尝试将Signal连接到Slot时,它会显示:
'PySide.QtCore.Signal'对象没有属性'connect'
我正在使用MVC:
Model:
from PySide.QtCore import Signal
class Model(object):
def __init__(self):
self.updateProgress = Signal(int)
控制器:
class Controller(QWidget):
"""
MVC Pattern: Represents the controller class
"""
def __init__(self, parent=None):
super().__init__(parent)
self.model = Model()
self.model.updateProgress.connect(self.setProgress)
当我在Pycharm中按住CTRL并单击Signal类以查看其类时,它看起来像下面这样:
class Signal(object):
""" Signal """
def __call__(self, *args, **kwargs): # real signature unknown
""" Call self as a function. """
pass
def __getitem__(self, *args, **kwargs): # real signature unknown
""" Return self[key]. """
pass
def __init__(self, *args, **kwargs): # real signature unknown
pass
@staticmethod # known case of __new__
def __new__(*args, **kwargs): # real signature unknown
""" Create and return a new object. See help(type) for accurate signature. """
pass
def __str__(self, *args, **kwargs): # real signature unknown
""" Return str(self). """
pass
...然而根据PySide文档,在这里应该有connect、disconnect和emit方法,可在以下链接中查看:
https://srinikom.github.io/pyside-docs/PySide/QtCore/Signal.html#PySide.QtCore.Signal.connect
提前感谢您的帮助。