【发布时间】:2018-10-22 00:12:13
【问题描述】:
是否有可能在需要时在运行时创建信号?
我在一个函数中做这样的事情:
class WSBaseConnector(QObject)
def __init__(self) -> None:
super(QObject, self).__init__()
self._orderBookListeners: Dict[str, pyqtSignal[OrderBookData]] = {}
def registerOrderBookListener(self, market: str, listener: Callable[[OrderBookData], None], loop: AbstractEventLoop) -> None:
try:
signal = self._orderBookListeners[market]
except KeyError:
signal = pyqtSignal(OrderBookData)
signal.connect(listener)
self._orderBookListeners[market] = signal
else:
signal.connect(listener)
如您所见,我有一个存储 str、pyqtSignal 对的字典。当我尝试将信号连接到侦听器时,出现错误:
'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'
没有class vars就不能在运行时创建pyqtSignals吗?
干杯。
【问题讨论】:
标签: python-3.x pyqt runtime pyqt5 signals-slots