Antarmuka Pengguna Grafis FAQ

Pertanyaan Umum GUI

Jakie zestawy narzędzi GUI istnieją dla Pythona?

Standardowe kompilacje Pythona zawierają obiektowy interfejs do zestawu widżetów Tcl/Tk, zwany tkinter. Jest to prawdopodobnie najłatwiejszy do zainstalowania (ponieważ jest dołączony do większości binarnych dystrybucji Pythona) i używania. Więcej informacji o Tk, w tym wskazówki do źródeł, można znaleźć na stronie domowej Tcl/Tk. Tcl/Tk jest w pełni przenośny na platformy macOS, Windows i Unix.

Залежно від того, на яку платформу(и) ви орієнтуєтеся, є також кілька альтернатив. Список кросплатформних і специфічних для платформи фреймворків графічного інтерфейсу можна знайти на python wiki.

Pertanyaan-pertanyaan Tkinter

Bagaimana cara membekukan aplikasi Tkinter?

Dondur, tek başına uygulamalar oluşturmak için bir araçtır. Tkinter uygulamalarını dondururken, uygulamalar gerçekten tek başına olmayacaktır, çünkü uygulama hala Tcl ve Tk kütüphanelerine ihtiyaç duyacaktır.

One solution is to ship the application with the Tcl and Tk libraries, and point to them at run-time using the TCL_LIBRARY and TK_LIBRARY environment variables.

Various third-party freeze libraries such as py2exe and cx_Freeze have handling for Tkinter applications built-in.

G/Ç'yi beklerken Tk olaylarının işlenmesini sağlayabilir miyim?

On platforms other than Windows, yes, and you don't even need threads! But you'll have to restructure your I/O code a bit. Tk has the equivalent of Xt's XtAddInput() call, which allows you to register a callback function which will be called from the Tk mainloop when I/O is possible on a file descriptor. See Обробники файлів.

Saya tidak bisa mendapatkan pengikatan kunci untuk bekerja di Tkinter: mengapa?

An often-heard complaint is that event handlers bound to events with the bind() method don't get handled even when the appropriate key is pressed.

Найпоширенішою причиною є те, що віджет, до якого застосовується прив’язка, не має "фокусу клавіатури". Перегляньте документацію Tk для команди focus. Зазвичай віджет отримує фокус клавіатури, клацнувши його (але не для міток; див. опцію takefocus).