簡體   English   中英

Tkinter Canvas 綁定'<configure> ' 事件到項目</configure>

[英]Tkinter Canvas bind '<Configure>' event to item

我錯過了什么嗎? 我想我已經做了類似下面例子的事情。 但是我既沒有找到我希望的腳本,也沒有在網上找到一些東西。 基本上我想將Configure事件綁定到一個項目。 是不是可能像錯誤提示的那樣?

資源: Canvastag_bind

import tkinter as tk

def do_something(event=None):
    print('something')
def stupid_workaround():
    if cnvs.coords(lbl) != lbl_coords:
        do_something()
        cnvs.coords(lbl, *lbl_coords)
    
    cnvs.after(200,stupid_workaround)

root = tk.Tk()
cnvs = tk. Canvas(root,highlightthickness=0)
lbl = cnvs.create_text(0,0, text='this is an exampel', anchor='nw')
lbl_coords = cnvs.coords(lbl)
btn = tk.Button(root, text='change coords', command=lambda:cnvs.coords(lbl,10,10))
btn.pack()
stupid_workaround()
#cnvs.bind(lbl, '<Configure>', do_something) #throws no error
#cnvs.tag_bind(lbl, '<Configure>', do_something) #throws error

cnvs.pack()
root.mainloop()

_tkinter.TclError:請求的非法事件; 只能使用鍵、按鈕、動作、進入、離開和虛擬事件

就像錯誤說的那樣,你不能綁定到<Configure>事件,它根本不是一個選項。 該事件僅對小部件有效,而不是在 canvas 上繪制的項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM