我正在使用一个具有 CALB 按钮的应用程序,并且根据应用程序,当我按 CALB 按钮时,首先创建一个标签并显示 range_H >值,如果我第二次按下 CALB 按钮,它将显示偏移量值。 根据我的要求, ENTR 键按下后应销毁标签。 我的问题是单击 CALB 即可使用它,但是在单击 CALB 按钮的第2次单击后并没有销毁它。 这是我的代码
import os
import tkinter as tk
Dsel = 0
cal_c = 0
root = tk.Tk()
root.geometry("300x240")
range_High = tk.IntVar()
offset = tk.IntVar()
Dsell = tk.IntVar()
range_H = 32767
off_set = 0
file=open("D:\data/file_log.txt","w")
if os.stat("D:\data/file_log.txt").st_size==0:
file.write("rangeHigh,offset,\n")
file.write(str(range_H)+','+str(off_set))
file.flush()
def cal():
global range_High,Dsel,cal_c
cal_c = cal_c + 1
root.rangeLabel = tk.Label(root, textvariable=range_High)
root.rangeLabel.grid(row=0)
root.DLbl = tk.Label(root,textvariable=Dsell)
root.DLbl.grid(row=0,column=1)
if cal_c == 1:
range_High.set(range_H)
elif cal_c == 2:
range_High.set(off_set)
Dsell.set(Dsel)
def enter():
global range_High
file=open("D:\data/file_log.txt","w")
if os.stat("D:\data/file_log.txt").st_size==0:
file.write("rangeHigh,offset,\n")
file.write(str(range_H) + ',' + str(off_set))
file.flush()
root.rangeLabel.destroy()
root.DLbl.destroy()
def inc():
#increment logic
pass
def dec():
#decrement logic
pass
def digSelect():
global Dsel
Dsel = Dsel+1
if Dsel > 5:
Dsel = 0
Dsell.set(Dsel)
root.Bt1=tk.Button(root,text="calb",bg="red",command=cal)
root.Bt1.pack()
root.Bt1.place(x=200,y=50)
root.Bt2=tk.Button(root,text="entr",bg="red",command=enter)
root.Bt2.pack()
root.Bt2.place(x=200,y=80)
root.Bt3=tk.Button(root,text="incr",bg="red",fg="white",command=inc)
root.Bt3.pack()
root.Bt3.place(x=200,y=110)
root.Bt4=tk.Button(root,text="decr",bg="red",fg="white",command=dec)
root.Bt4.pack()
root.Bt4.place(x=200,y=140)
root.Bt5=tk.Button(root,text="digt",bg="red",fg="white",command=digSelect)
root.Bt5.pack()
root.Bt5.place(x=200,y=170)
root.mainloop()
谢谢