それが信号を発するための独自のシステムを記述するために十分に簡単です:
from collections import defaultdict
slots = defaultdict(list)
def connect(signal, slot):
slots[signal].append(slot)
def disconnect(signal, slot=None):
if slot is not None:
slots[signal] = [x for x in slots[signal] if x is not slot]
else:
del slots[signal][:]
def emit(signal, *args):
for slot in slots[signal]:
slot(*args)
...
emit('statusChanged', 'Failed', 'error message')
、必要に応じて今すぐあなたのPyQt4ラッパーは、これらの信号に接続することができますし、直接それらを処理、または再放射する適切なPyQtは信号:
輸入はどこのために作られたものだ
import myscript
class MainWindow(QtGui.QMainWindow):
statusChanged = QtCore.pyqtSignal(str, str)
def __init__(self):
super(MainWindow, self).__init__()
myscript.connect('statusChanged', self.handleStatusChanged)
def handleStatusChanged(self, status, message):
print(status, message)
self.statusChanged.emit(status, message)
、PyQtは、スクリプトを分離し、私はちょうど信号 – danidee
それをインポートいくつかのコードを投稿するあなたの投稿を読んでいる皆さんには本当に明確になります。どうぞ – user3601503
せずに変数やメソッドの状態のPyQtは「を知らせる」する方法の全くわからないんだけど、ことを行っている – danidee