【发布时间】:2016-08-02 06:22:24
【问题描述】:
我将 Python 3.4 与 Pyside 1.2.4 和 PyQt 4.8.7 一起使用,当我尝试将 Signal 连接到 Slot 时,它显示:
'PySide.QtCore.Signal' 对象没有属性'connect'
我正在使用 MVC:
型号:
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
提前感谢您的帮助
【问题讨论】:
标签: python pyside signals-slots qobject