Giao diện người dùng đồ họa FAQ

Câu hỏi chung về GUI

Bộ công cụ GUI nào tồn tại cho Python?

Các bản dựng tiêu chuẩn của Python bao gồm giao diện hướng đối tượng cho bộ tiện ích Tcl/Tk, được gọi là tkinter. Đây có lẽ là cách dễ cài đặt nhất (vì nó đi kèm với hầu hết binary distributions của Python) và sử dụng. Để biết thêm thông tin về Tk, bao gồm các con trỏ tới nguồn, hãy xem Tcl/Tk home page. Tcl/Tk hoàn toàn có thể di chuyển sang nền tảng macOS, Windows và Unix.

Tùy thuộc vào (các) nền tảng bạn đang hướng tới, cũng có một số lựa chọn thay thế. Bạn có thể tìm thấy khung list of cross-platformplatform-specific GUI trên python wiki.

câu hỏi Tkinter

Làm cách nào để đóng băng các ứng dụng Tkinter?

Freeze là một công cụ để tạo các ứng dụng độc lập. Khi đóng băng các ứng dụng Tkinter, các ứng dụng sẽ không thực sự độc lập vì ứng dụng vẫn cần các thư viện Tcl và Tk.

Một giải pháp là gửi ứng dụng cùng với thư viện Tcl và Tk, đồng thời trỏ đến chúng trong thời gian chạy bằng cách sử dụng các biến môi trường TCL_LIBRARYTK_LIBRARY.

Nhiều thư viện đóng băng của bên thứ ba như py2exe và cx_Freeze có khả năng xử lý tích hợp sẵn các ứng dụng Tkinter.

Tôi có thể xử lý các sự kiện Tk trong khi chờ I/O không?

Trên các nền tảng khác ngoài Windows, vâng, và bạn thậm chí không cần chuỗi! Nhưng bạn sẽ phải cơ cấu lại mã I/O của mình một chút. Tk tương đương với lệnh gọi XtAddInput() của Xt, cho phép bạn đăng ký chức năng gọi lại sẽ được gọi từ vòng lặp chính Tk khi có thể I/O trên bộ mô tả tệp. Xem Trình xử lý tệp.

Tôi không thể làm cho các ràng buộc chính hoạt động trong Tkinter: tại sao?

Một lời phàn nàn thường được nghe là các trình xử lý sự kiện bound đến các sự kiện bằng phương thức bind() không được xử lý ngay cả khi nhấn phím thích hợp.

Nguyên nhân phổ biến nhất là tiện ích được áp dụng liên kết không có "tiêu điểm bàn phím". Kiểm tra tài liệu Tk để biết lệnh tập trung. Thông thường, một tiện ích sẽ được lấy tiêu điểm bằng bàn phím bằng cách nhấp vào nó (nhưng không dành cho nhãn; xem tùy chọn lấy tiêu điểm).