我想要一个复选框,该复选框在选中时创建滚动的文本小部件,而在未选中时删除该小部件。
当前,仅当我选中该框然后取消选中它时,它才创建该小部件,然后再次选中时,它不执行任何操作,而当再次取消选中时,它在下面创建另一个小部件。
我尝试了不同的编码方式,但是我不知道自己在做什么错。
# Creates Normal Checkbutton
chk_state = BooleanVar()
chk_state.set(False) # set check state
chk = Checkbutton(window, text='Normal Entries', var=chk_state)
chk.place(x=0, y=0)
#Checks Checkbutton State
def chk_checked(event):
txt = scrolledtext.ScrolledText(window, height=15, width=35)
if chk_state.get():
txt.insert(END, 'Paste Normal Entries Here...')
txt.pack(anchor='nw', padx=50, pady=50)
elif txt.winfo_exists():
txt.pack_forget()
else:
pass
#Event when checkbox checked
chk.bind('<Button-1>', chk_checked)
答案 0 :(得分:2)
您可以这样尝试
develop
这不是最好的方法,也许您可以创建一个类,我认为这样会更好。
您的代码存在的问题是,每次您单击triggers {
cron('H 21 * * 1-5')
}
// SKIP PIPELINE if triggered by timer AND branch not 'release/v1' OR 'develop'
stages {
stage('build') {
when { ... }
}
stage('UT') {
when { ... }
}
etc...
}
函数import tkinter as tk
from tkinter.scrolledtext import ScrolledText
def chk_checked():
global txt
if chk_state.get():
txt = ScrolledText(window, height=15, width=35)
txt.insert(tk.END, 'Paste Normal Entries Here...')
txt.pack(anchor='nw', padx=50, pady=50)
else:
txt.pack_forget()
window = tk.Tk()
chk_state = tk.BooleanVar()
chk_state.set(False) # set check state
chk = tk.Checkbutton(window, text='Normal Entries', var=chk_state, command=chk_checked)
chk.place(x=0, y=0)
txt = None
window.mainloop()
都会创建一个新的CheckButton
,然后对其进行处理,而不是在chk_checked(event)
上进行操作那是以前创建的。您必须声明ScrolledText
(而不是ScrolledText
),才能存储要使用的global variable
并只能与之一起使用