#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. Я не знаю, как это исправить, но я отредактировал и повторно опубликовал его.