Я пытаюсь создать динамический графический интерфейс, который меняет свои метки в зависимости от того, какое значение выбрано в поле со списком.Я пытаюсь использовать метод .trace для достижения этой цели.Я получаю следующую ошибку с моей текущей настройкой: "area_labels принимает 0 позиционных аргументов, но 3 были заданы)
Я прикрепил соответствующие части моего кода ниже.
from tkinter import *
import tkinter as tk
from tkinter import ttk
window = Tk()
window.geometry('1300x700')
window.title('Volumetric Calculator')
areastcboxv = StringVar()
areastcbox = ttk.Combobox(window, textvariable = areastcboxv, values = ('Discrete','Normal','Truncated Normal', 'Log Normal'))
areastcbox.grid(row = 1, column = 2)
areastcbox.set('Discrete')
areastcboxv.trace("w", area_labels)
def area_labels():
if areastcboxv.get() == "Discrete":
lvlabel = Label(text = 'Base Case Value', fg = 'black', bg = 'white', width = 17 ).grid(row = 0, column = 3)
bvlabel = Label(text = 'Standard Dev', fg = 'black', bg = 'white', width = 17 ).grid(row = 0, column = 4)
hvlabel = Label(text = 'High Value', fg = 'black', bg = 'white', width = 17).grid(row = 0, column = 5)
lplabel = Label(text = 'Low Probability', fg = 'black', bg = 'white', width = 17).grid(row = 0, column = 6)
bplabel = Label(text = 'Base Probability', fg = 'black', bg = 'white', width = 17).grid(row = 0, column = 7)
hplabel = Label(text = 'High Probability', fg = 'black', bg = 'white', width = 17, state = DISABLED ).grid(row = 0, column = 8)
elif areastcboxv.get() == "Normal":
lvlabel = Label(text = 'Base Case Value', fg = 'black', bg = 'white', width = 17 ).grid(row = 0, column = 3)
bvlabel = Label(text = 'Standard Dev', fg = 'black', bg = 'white', width = 17 ).grid(row = 0, column = 4)
hvlabel = Label(text = 'High Value', fg = 'black', bg = 'white', width = 17, state = DISABLED ).grid(row = 0, column = 5)
lplabel = Label(text = 'Low Probability', fg = 'black', bg = 'white', width = 17, state = DISABLED ).grid(row = 0, column = 6)
bplabel = Label(text = 'Base Probability', fg = 'black', bg = 'white', width = 17, state = DISABLED ).grid(row = 0, column = 7)
hplabel = Label(text = 'High Probability', fg = 'black', bg = 'white', width = 17, state = DISABLED ).grid(row = 0, column = 8)
elif areastcboxv.get() == "Truncated Normal":
pass
elif areastcboxv.get() == "Log Normal":
pass
window.mainloop()