Próbowałem znaleźć sposób na aktualizację wątku GUI z wątku Python poza głównym. The PyQt5 docs na sourceforge mają dobre instrukcje, jak to zrobić. Ale nadal nie mogę sprawić, żeby wszystko działało.PyQt5 Sygnały i sloty "QObject nie ma atrybutu" error
Czy istnieje dobry sposób na wyjaśnienie następującego wyniku sesji interaktywnej? Czy nie powinien istnieć sposób na wywołanie metody emisji na tych obiektach?
>>> from PyQt5.QtCore import QObject, pyqtSignal
>>> obj = QObject()
>>> sig = pyqtSignal()
>>> obj.emit(sig)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'QObject' object has no attribute 'emit'
i
>>> obj.sig.emit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'QObject' object has no attribute 'sig'
i
>>> obj.sig = pyqtSignal()
>>> obj.sig.emit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'emit'
samo jak tutaj: [PyQt5 w jakim znajduje się moduł metoda Emit?] (Http://stackoverflow.com/questions/17581506/pyqt5-in-what-module-is-the-emit-method -found) - tylko sygnały __bound__ mają metodę 'emit'. ("obj.sig = pyqtSignal()" nadal jest sygnałem niezwiązanym) – mata
@mata: Tak, brałem te przykłady z dokumentacji PyQt5 na sourceforge. Jak [zauważyłeś] (http://stackoverflow.com/questions/17581506/pyfqt5-in-what-module-is-the-emit-method-found), metoda emitowania dotyczy sygnału związanego, tzn. członek klasy dziedziczącej z QObject. Nie zdawałem sobie sprawy, że nie robiłem tego w sesji interaktywnej wklejonej powyżej. – ADB
@ mata: Po prostu ciekawa, jaka byłaby użyteczność ** obj.sig = pyqtSignal() **, jak w trzecim przykładzie powyżej? – ADB