Wenn man eine Benutzeroberfläche in Python entwickeln möchte, für welche sollte man sich entscheiden: TkInter oder PyQt?
Ich habe gerade mit TkInter angefangen und konnte einige einfache Benutzeroberflächen mit elementaren Widgets wie Beschriftung, Schaltfläche, Textfeld usw. zum Laufen bringen. Sind Sie nur neugierig, wie gut PyQt mit TkInter verglichen werden kann?
Prost
python
user-interface
pyqt
tkinter
Arnkrishn
quelle
quelle
Antworten:
PyQt, wenn Sie etwas Ernstes entwickeln, zumal Dinge, die Sie lernen, direkt in die Arbeit mit Qt in anderen Sprachen übersetzt werden, falls dies jemals erforderlich sein sollte, und Qt ist wahrscheinlich das derzeit beste plattformübergreifende Interface-Toolkit.
Es gibt nur zwei echte (potenzielle) Nachteile:
PyQt ist nur unter der GPL verfügbar. Wenn Sie Ihren Code freigeben, muss er unter einer kompatiblen Lizenz, unter den Bedingungen der GPL-Ausnahme von Nokia oder unter einer kommerziellen Lizenz (die Geld kostet) verfügbar sein . Dies steht im Gegensatz zu Qt, das jetzt unter der LGPL verfügbar ist.
PyQt ist in Python-Installationen standardmäßig nicht enthalten. Sie müssen die Bibliothek selbst verpacken. (Ars Technica hat einen guten Artikel dazu für Windows und OS X.)
quelle
PyQt ist jetzt unser Haupt-GUI-Toolkit und nach 1 Jahr Entwicklung möchte ich nicht mehr zu etwas anderem zurückkehren. Es ist stabil, ausgereift, plattformübergreifend und vollständig nativ. Sogar die Systemdialogfelder (zum Beispiel zum Öffnen von Dateien) werden von Ihrem Betriebssystem verwendet.
Ich habe mein XP-Thema und jetzt meine Apps entsprechend angepasst. Dies schafft einen sehr professionellen Look, der mit einem Toolkit wie nicht vergleichbar ist
Swing
. Die API ist umfangreich und geht über die reine GUI hinaus, beispielsweise über Widgets. Es unterstützt Datenbankkonnektivität, Drucken, Threading (ich habe es verwendet und es funktioniert wie ein Zauber), ... Ich verwende es sogar zum Generieren von PDFs (keine anderen externen Bibliotheken erforderlich). Ich würde Mark Summerfields Buch ' Rapid GUI Programming with Python and Qt ' empfehlen , um Sie auf den neuesten Stand zu bringen. Denken Sie daran, dass Qt mit einem GUI-Builder (Qt-Designer) geliefert wird, der der beste ist, den ich verwendet habe (und ich habe viele davon ausprobiert).Ich benutze diesen Builder sogar, um Modelle zu erstellen, die den Benutzern angezeigt werden (so einfach ist das!).
Ich habe es 2 anderen Entwicklern hier vorgestellt und sie nicht beschweren hören ...
quelle
Ich benutze
tkinter
für kleine Anwendungen mit einfacher Oberfläche. Ich mag es sehr, auch wenn der Mangel an gutem WYSIWYG Editors ein Problem für eine größere App sein könnte.Für große Apps
PyQt
möglicherweise die bessere Wahl. Es hat einen sehr guten Bildschirmdesigner, aber die Lizenzierung kann ein Problem sein.Schließlich
wxPython
kann eine gute Alternative sein, weil es diese Nachteile nicht hat.quelle
PyQt ist sehr einfach zu erlernen und Dokumente für Qt funktionieren auch für PyQt. Außerdem gibt es Ports für .NET und Java. Es ist also eine Fee, die plattformübergreifend und sprachübergreifend ist. Außerdem haben Sie PyQt in Eric IDE integriert .
Die Unterstützung für CSS-Stile ist auch wirklich brillant.
Sehen Sie sich das neue OpenSuSE-Installationsprogramm an, um zu sehen, was Sie damit tun können.
quelle
Mit Tkinter können Sie große GUIs erstellen. Wenn Sie das pytkgen-Modul ausprobieren möchten, können Sie Tkinter-GUIs aus JSON-Definitionen erstellen: https://github.com/tmetsch/pytkgen
quelle
Ich benutze PyQt. Es ist plattformübergreifend, einfach zu handhaben und zuverlässig.
Ich habe TkInter leicht benutzt und sehe keine Punkte, die TkInter besser machen als PyQt.
quelle