2017-07-02 1 views
0

Ich stolpere über ein seltsames Problem: ist es möglich, dass die QQueue-Klasse von Qt5 (http://doc.qt.io/qt-5/qqueue.html) nicht in PyQt vorhanden ist? Ich konnte es nicht importieren und erkannte dann, dass es nicht in dieser Liste von PyQt5-Klassen ist: http://pyqt.sourceforge.net/Docs/PyQt5/Fehlt QQueue in PyQt (5)?

Ist das wahr? Wenn ja, gibt es einen Grund? und eine alternative kurz meine eigene Klasse der Umsetzung

(Referenz: This commit auf Github und Diskussion in comments)

Antwort

1

Es ist offensichtlich nicht möglich, PyQt/pyside zu Template-Klassen zu unterstützen, da sie zu einer Funktion abhängen, ist spezifisch für C++.

Im Allgemeinen sollten Sie stattdessen den entsprechenden integrierten Python-Typ verwenden (oder, wo zutreffend, welche Implementierung auch immer in der Standardbibliothek verfügbar ist - z. B. queue.Queue oder collections.deque).

PS:

In Bezug auf QProcess.errorOccurred - dieses Signal ist in PyQt-5.8.2 und ist seit mindestens PyQt-5.3.2 gewesen (die älteste Version, die ich überprüfen kann). Das Signal QProcess.error ist obsolete und sollte nicht in neuem Code verwendet werden.

PPS:

PyQt5 sicher nicht "noch in der Entwicklung" (aber PySide for Qt5 ist).

+0

Vielen Dank. Ich denke, es wäre hilfreich gewesen, wenn die Klasse nicht einfach in den PyQt-Dokumenten fehlen würde, aber irgendwie als nicht verfügbar angezeigt wurde. (PPS: Das war nicht meine * Annahme ;-)) –