如何在Tkinter中重置下拉菜单的值并取消显示图像?



目前我正在研究一个重置按钮,该按钮将所有内容设置回外观。

这是它的样子,作为一个例子:

def reset():
box1.deselect()
box2.deselect() #unticks all checkboxes
self.sendingBTN['state'] = 'disabled' #disables buttons back how I needed them to be

现在我正在努力如何将下拉值设置回默认值。我的下拉菜单值由特定文件夹中所有 jpg 文件的路径组成。

我已经为它分配了默认值:

self.vars.set('All JPGs listed here..') # set the default option

但是,当我从下拉菜单中选择一个值时,默认值会消失,这就是我弄清楚如何重置它的原因。

另外,我不太确定如何从显示中删除图像。

任何帮助将不胜感激!

这是我的代码:

self.vars = StringVar()
# Directory
self.directory = "C:/Users/spice/Desktop/allFiles/"
self.choices = glob.glob(os.path.join(self.directory, "*.jpg"))
self.vars.set('All JPGs listed here..') # set the default option
# Images
def change_dropdown():
imgpath = self.vars.get()
img = Image.open(imgpath)
photo = ImageTk.PhotoImage(img)
label2.image = photo
label2.configure(image=photo)
self.CaptureScreen['state'] = 'normal'


#return path value
self.p = None
def function2(value):
global p
self.p = Path(value)
print(self.p)
#reset values
def reset(): 
self.Checkbox1.deselect()
self.Checkbox2.deselect()
self.Checkbox3.deselect()
self.Checkbox4.deselect()
self.Checkbox5.deselect()
self.Checkbox6.deselect()
self.Checkbox7.deselect()
self.Checkbox8.deselect()
self.Checkbox9.deselect()
self.Checkbox10.deselect()
self.Checkbox11.deselect()
self.Checkbox12.deselect()
self.CaptureScreen['state'] = 'disabled'
self.dataSend['state'] = 'disabled'

#widgets
self.msg1 = Label(main, text = "All files here")
self.msg1.grid(column = 0, row = 0)
self.popupMenu = OptionMenu(main, self.vars, *choices, command = function2)
self.popupMenu.grid(row=1, column=0)
self.display_label = label2 = Label(main, image=None)
self.display_label.grid(row=2, column=0, rowspan = 500)
self.open_button = Button(main, text="Open", command=change_dropdown)
self.open_button.grid(row=3, column=0)
self.resetBtn = Button(main, text = "reset", command = reset)
self.resetBtn.grid(column = 1, row = 2, sticky = W)

这就是我试图付诸def reset()

change_dropdown.delete(label2)

要将下拉菜单重置为默认值,您可以尝试以下代码:

def reset(): 
self.vars.set("All JPGs listed here..")

我设法使用以下命令删除了图像:

config(image='')

接下来,我将尝试清除下拉内容。

最新更新