[英]TKinter show/hide canvas.line with Checkbutton
因此,我試圖為一個項目編寫代碼,但是有一天我無法在此上取得任何進展,所以我決定問:我的目標是要有一個復選框(不一定必須在開始時進行檢查),如果選中顯示紅線,但如果未選中,則紅線消失(這就是我奮斗的地方)。 我設法使紅線出現在選中按鈕的位置,但是之后如果我取消選中,則什么也沒有發生,並且紅線仍然存在。 這是我最近的嘗試:
from tkinter import *
app = Tk()
canvas = Canvas(app, width=400, height=600)
canvas.pack()
redline = canvas.create_line(0, 100, 200, 50, fill="red")
def click(canvas=redline, *event):
if var.get():
redline
else:canvas.delete(redline)
var = IntVar()
check = Checkbutton(app, text = "Redline", variable=var, command=click)
check.pack()
check.toggle()
app.mainloop()
非常感謝您提供的任何幫助。
command=
需要沒有參數的函數。
您必須再次創建行。
from tkinter import *
# --- functions ---
def click():
global redline
if not var.get():
canvas.delete(redline)
else:
redline = canvas.create_line(0, 100, 200, 50, fill="red")
# --- main ---
app = Tk()
canvas = Canvas(app, width=400, height=600)
canvas.pack()
redline = canvas.create_line(0, 100, 200, 50, fill="red")
var = IntVar()
check = Checkbutton(app, text = "Redline", variable=var, command=click)
check.pack()
check.toggle()
app.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.