Vui lòng không ngần ngại mở rộng câu trả lời này.
Tkinter là bộ công cụ mà đi kèm với trăn. Điều đó có nghĩa là bạn đã có mọi thứ bạn cần để viết GUI. Điều đó cũng có nghĩa là nếu bạn chọn để phân phối chương trình của bạn, rất có thể mọi người khác đã có những gì họ cần để chạy chương trình của bạn.
Tkinter là trưởng thành và ổn định, và (ít nhất là cho là) khá dễ sử dụng.Tôi thấy nó dễ sử dụng hơn wxPython, nhưng rõ ràng đó là hơi chủ quan.
Tkinter trở nên tồi tệ vì trông xấu xí và lỗi thời. Mặc dù thật dễ dàng để tạo GUI xấu với Tkinter, nhưng cũng khá dễ dàng để tạo các giao diện đẹp mắt. Tkinter không nắm tay bạn, nhưng nó cũng chẳng cản trở gì cả. Tkinter trông đẹp nhất trên Mac và Windows vì nó sử dụng các tiện ích gốc ở đó, nhưng có vẻ OK trên linux.
Điểm khác về giao diện của Tkinter là, phần lớn, trông không quan trọng bằng cách mọi người tạo ra nó. Hầu hết các ứng dụng được viết bằng các bộ công cụ như Tkinter, wxPython, PyQT, vv là các ứng dụng có mục đích đặc biệt. Đối với các loại ứng dụng, các bộ công cụ này được sử dụng cho, khả năng sử dụng của giao diện. Nếu giao diện của ứng dụng là quan trọng, thật dễ dàng để đánh bóng một ứng dụng Tkinter.
Tkinter có một số tính năng mà các bộ công cụ khác không đến gần khớp. Các dấu vết thay đổi, các phông chữ được đặt tên, các trình quản lý hình học (layout) và cách xử lý sự kiện Tkinter vẫn là tiêu chuẩn mà các bộ công cụ khác cần được đánh giá.
Mặt khác, Tkinter là một trình bao bọc xung quanh một trình thông dịch Tcl chạy bên trong python. Điều này chủ yếu là vô hình đối với bất kỳ ai phát triển với Tkinter, nhưng đôi khi nó dẫn đến thông báo lỗi cho thấy kiến trúc này. Bạn sẽ nhận được một lỗi phàn nàn về một widget với một tên như ".1245485.67345" mà sẽ làm cho hầu như không có ý nghĩa với bất cứ ai trừ khi bạn cũng đã quen thuộc với cách Tcl/tk hoạt động.
Một nhược điểm khác là Tkinter không có nhiều tiện ích dựng sẵn như wxPython. Tiện ích cây phân cấp trong Tkinter hơi yếu, chẳng hạn, và không có tiện ích bảng tích hợp. Mặt khác, các vật dụng văn bản và vải của Tkinter cực kỳ mạnh mẽ và dễ sử dụng. Đối với hầu hết các loại ứng dụng bạn sẽ viết, tuy nhiên, bạn sẽ có mọi thứ bạn cần. Chỉ cần không mong đợi để tái tạo Microsoft Word hoặc Photoshop với Tkinter.
Tôi không biết giấy phép là gì cho Tkinter, tôi giả định giống như đối với toàn bộ python. Tcl/tk có giấy phép kiểu BSD.
Đó là xây dựng trên đầu trang của Qt, C++ khuôn khổ. Nó khá tiên tiến và có một số công cụ tốt như Qt Designer để thiết kế các ứng dụng của bạn. Tuy nhiên, bạn nên biết rằng nó không giống như Python 100%, nhưng gần với nó. Các documentation là tuyệt vời
Khung này thực sự tốt. Nó đang được phát triển bởi Trolltech, người được sở hữu bởi Nokia. Các ràng buộc cho Python được phát triển bởi Riverbank.
PyQt có sẵn theo giấy phép GPL hoặc bản quyền thương mại. Giá của một giấy phép PyQt bờ sông là khoảng 400 euro cho mỗi nhà phát triển.
Qt không chỉ là một khung công tác GUI mà còn có nhiều lớp khác nữa, người ta có thể tạo một ứng dụng bằng cách chỉ sử dụng các lớp Qt. (Giống như SQL, mạng, kịch bản, ...)
Qt sử dụng để mô phỏng các yếu tố GUI trên mọi nền tảng nhưng bây giờ sử dụng phong cách bản địa của các nền tảng (mặc dù không có nguồn gốc bộ công cụ GUI): xem the documentation for Mac OS X và the windows XP style
Bao bì là như đơn giản như chạy py2exe hoặc pyInstaller. Nội dung của ứng dụng PyQt của tôi trông như thế này trên cửa sổ (Tôi đã sử dụng InnoSetup trên đầu trang của nó để cài đặt thích hợp):
pyticroque.exe PyQt4.QtGui.pyd unicodedata.pyd
MSVCP71.dll PyQt4._qt.pyd unins000.dat
MSVCR71.dll python25.dll unins000.exe
PyQt4.QtCore.pyd sip.pyd _socket.pyd
QT đi kèm với một nhà thiết kế phụ tùng và thậm chí cả trong các phiên bản gần đây với một IDE để giúp thiết kế Qt phần mềm.
PySide là một liên kết LGPL với Qt. Nó được phát triển bởi nokia như một sự thay thế cho GPL PyQt.
Mặc dù dựa trên một công nghệ khác với bindings PyQt cấp phép GPL hiện có, PySide ban đầu sẽ mong muốn được API tương thích với họ.Ngoài ra, vào API tương thích PyQt, thêm API Pythonic sẽ được cung cấp trong tương lai .
wxPython là một ràng buộc cho Python sử dụng wxWidgets -Framework. Khung này nằm trong giấy phép LGPL và được phát triển bởi cộng đồng nguồn mở.
Những gì tôi thực sự thiếu là một công cụ tốt để thiết kế giao diện, họ có khoảng 3 nhưng không ai trong số họ là có thể sử dụng.
Một điều tôi nên đề cập đến là tôi đã tìm thấy lỗi trong chế độ xem tab mặc dù thực tế là tôi không sử dụng bất kỳ thứ gì nâng cao. (Chỉ trên Mac OS X) tôi nghĩ rằng wxWidgets không được đánh bóng như Qt.
wxPython thực sự chỉ là về các lớp GUI, không có nhiều thứ khác.
wxWidgets sử dụng các phần tử GUI gốc.
Lợi thế wxPython có trên Tkinter là wxPython có thư viện tiện ích lớn hơn nhiều để chọn từ đó.
Khác
Tôi chưa có kinh nghiệm với các khung công tác GUI khác, có thể một người khác có.
html-cgi làm bộ công cụ gui? WTF? – ddaa
Để thay thế cho một cái, nó cũng cho phép điều khiển từ xa ra khỏi hộp. http://deluge-torrent.org/screenshots.php Bạn nói đúng, nhưng câu hỏi phải phù hợp với một dòng ... – nachik
ddaa - vâng, bạn có thể tích hợp máy chủ web (mà python đã có trong lib chuẩn) vào ứng dụng của bạn và sử dụng trình duyệt làm GUI. một số ứng dụng làm điều đó –