Mọi người ơi mình chỉ muốn là nhấn nút “Up” thì hình polygon nó đi lên thôi mà báo lỗi
_tkinter.TclError: can’t invoke “bind” command: application has been destroyed
Xử lý như thế nào ạ ?
Can't invoke "bind" command
Báo lỗi ngay khi chạy hay sau khi bạn nhấn phím “Up”?
Window vẫn xuất hiện, vẫn có polygon nhưng mà nhấn “up” thì ko có gì xảy ra
Tắt đi thì mới báo lỗi trên đó bạn
Sao không dùng bind
mà lại dùng bind_all
?
Tại mình làm theo một video trên youtube á bạn, nhưng mà thử bind thì cũng bị lỗi tương tự
Theo mình nghĩ thì do nó không thực hiện lệnh này khi bạn nhấn phím, nhưng khi ứng dụng tắt thì nó mới gửi lệnh, nhưng lúc đó ứng dụng đã bị hủy nên không gửi được => lỗi.
Có thể là lỗi do thư viện tkinter gây ra.
Bạn thử thay <KeyPress-Up>
thành <Key-Up>
.
Tk.mainloop là câu lệnh khởi tạo môi trường và main thread loop cho UI nên nó đứng luôn ở đấy rồi còn đâu. Tất cả thứ cần bind hay init phải đặt trước câu lệnh này nhé. Nếu app vượt qua được câu lệnh này thì tức là app đã chết
Không phải lỗi do tk mà là do Dev dùng sai. Nhìn method mainloop cho dù không cần làm việc với tk nhưng với 1 Dev có kinh nghiệm cũng có thể đoán ra nó có ý nghĩa gì rồi. Concept này tương tự nhau ở nhiều thư viện tạo GUI ở nhiều nnlt khác nhau
Mình cảm ơn bạn nhiều nha, đúng là vì để câu tk.mainloop() ở trước !
Không để ý, lúc trước AutoIT cũng bị thế này.