Python, ткинтер. Заполните комбинированные списки, используя операторы if - PullRequest
0 голосов
/ 14 апреля 2020

В настоящее время я пытаюсь закодировать программу с 3 заполненными списками. Например, когда пользователь выбирает «a» в первом комбинированном списке, должен появиться новый комбинированный список с новыми вариантами выбора при нажатии «next». Снова пользователь вводит значение во второй комбинированный список и нажимает «следующий», здесь должен появиться новый комбинированный список с новыми вариантами выбора. Но почему-то мне не удается показать третий комбобокс.

Ниже указан код.

from tkinter import ttk
from tkinter import Tk

root = Tk()

root.geometry("400x400")

cmb = ttk.Combobox(root, width="10", values=['a','b'])

def checkcmbo():


    if cmb.get() == "a":

         cmb2 = ttk.Combobox(root, width="10", values=['aa','ab'])

         cmb2.place(relx="0.1",rely="0.2")

         if cmb2.get() == "aa":

             cmb3 = ttk.Combobox(root, width="10", values=['car1','car2','car3'])

             cmb3.place(relx="0.1",rely="0.3")

         if cmb2.get() == "ab":

             cmb3 = ttk.Combobox(root, width="10", values=['ship1','ship2','ship3'])

             cmb3.place(relx="0.1",rely="0.3")



    if cmb.get() == "b":

         cmb2 = ttk.Combobox(root, width="10", values=['ba','bb'])

         cmb2.place(relx="0.1",rely="0.2")

         if cmb2.get() == "ba":

             cmb3 = ttk.Combobox(root, width="10", values=['racecar1','racecar2','racecar3'])

             cmb3.place(relx="0.1",rely="0.3")

         if cmb2.get() == "ab":

             cmb3 = ttk.Combobox(root, width="10", values=['reaceship1','raceship2','raceship3'])

             cmb3.place(relx="0.1",rely="0.3")



cmb.place(relx="0.1",rely="0.1")

btn = ttk.Button(root, text="Next",command=checkcmbo)

btn.place(relx="0.5",rely="0.1")

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