Как сбросить значение выпадающего меню и не отображать изображение в Tkinter? - PullRequest
0 голосов
/ 03 октября 2019

В настоящее время я работаю над кнопкой сброса, которая возвращает весь контент обратно, как он выглядел.

Вот как это выглядит в качестве примера:

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)

Ответы [ 2 ]

1 голос
/ 03 октября 2019

Для сброса в раскрывающемся меню значения по умолчанию вы можете попробовать следующий код:

def reset(): 
    self.vars.set("All JPGs listed here..")
1 голос
/ 03 октября 2019

Мне удалось удалить изображение с помощью этого:

config(image='')

Далее я попытаюсь очистить выпадающий контент ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...