Как получить результат вывода при выборе двух параметров выпадающего меню в tkinter

#python #tkinter

#python #tkinter

Вопрос:

Если я выберу значение из первого выпадающего меню, то в следующем выпадающем меню будут отображаться только значения, которые находятся внутри первой выбранной категории значений выпадающего списка. и как только я нажимаю второе выпадающее меню, я хочу, чтобы мой результат «Привет» выводился в виде текстовой метки.

 The code is as below-

    import tkinter as tk
    
    Classid = ["A", "B", "C"]
    
    subclassid = [["X", "Y", "Z"],["X", "Y", "Z"], ["X", "Y", "Z"]]
    
    root = tk.Tk()
    
    canvas = tk.Canvas(root, height = 500, width = 500, bg='white')
    
    canvas.pack()
    
    tkClassid = tk.StringVar(root)
    
    tkClassid.set("Choose")
    
    tksubid = tk.StringVar(root)
    
    tksubid.set('Drug Class')
    
    popupMenu1 = tk.OptionMenu(canvas, tkClassid, Classid)
    
    popupMenu1.pack()
    
    popupMenu2 = tk.OptionMenu(canvas, tksubid, [])
    
    popupMenu2.pack()
    
    def change_dropdown(*args):
    
        print("Chosen Class "   tkClassid.get())
    
            for i in range(len(Classid)):
    
                if tkClassid.get() == Classid[i]:
    
                    popupMenu2["menu"].delete(0, "end")
    
                        for item in subclassid[i]:
    
                            popupMenu2['menu'].add_command(label=item, command=tk_setit(tksubid, item))
    
    tkClassid.trace('w', change_dropdown)
    
    def resultout():
    
        myLabel = Label(root, text=clicked.get()).pack()
    
            if x=='A' and y=='X':
    
                print('Hello')
    
    clicked = StringVar(root)
    
    myButton= Button(root,text='Result', command=resultout).pack()
    
    root.mainloop()
  

Комментарии:

1. Пожалуйста, исправьте отступ в вашем коде.

2. Здравствуйте, я это исправил.

3. @CharitraGour Нет, это все еще неправильно. ваши циклы for и оператор if внутри функции не выровнены

4. Я не знаю, как это исправить, но я отредактировал и повторно опубликовал его.