Я понял это. Оказалось, меня смутили область действия переменной d и функция final. Вот код, который работает так, как я хотел работать. спасибо за вопросы и вклад в мое обучение.
import tkinter as tk
D = {'Мост Рузвельта': {"Понедельник": 1}}
def main ():
root = tk.Tk()
root.title("class basic window")
root.geometry("250x350")
root.config(background="LightBlue4")
app = Application(root)
root.mainloop()
Приложение класса (тк.Фрейм):
def __init__(self, parent):
tk.Frame.__init__(self, parent, bg="ivory2", bd=2, relief=tk.RAISED)
self.parent = parent
self.pack(fill=tk.BOTH, expand=1)
self.initUI()
def initUI(self):
self.grid()
self.optionList=["", "repair", "boat crossing", "mechinical issue", "accident"]
self.dropVar=tk.StringVar()
self.dropVar.set(self.optionList[0])
self.dropMenu=tk.OptionMenu(self, self.dropVar, *self.optionList)
self.dropMenu.config(width=10)
self.dropMenu.pack()
self.get=tk.Button(self, text="update", command=self.update)
self.get.pack()
#self.pack(fill=t.BOTH, expand=1)
def final(self):
if self.dropVar.get()==self.optionList[0]:
return ("1")
else:
return ("0")
def update(self):
global D
D = {'Roosevelt Bridge': {"Monday": self.final()}}
print (D)
если имя == ' main ':
Основной () * 1 016 *