如何在 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)


翻过高山走不出你
浏览 172回答 2
2回答

慕桂英3389331

要将下拉菜单重置为默认值,您可以尝试以下代码:def reset():      self.vars.set("All JPGs listed here..")

元芳怎么了

我已经设法通过使用这个来删除图像:config(image='')接下来,我将尝试清除下拉内容..
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python