###前提
Comboboxを用いて一つ目のプルダウンメニュー('ひらがな', 'かたかな', 'alphabet')
を作成した。このそれぞれのリストに関連する二つ目のプルダウンメニューを作成したい。
OS:Windows 10
Pythonバージョン:3.5.4(64bit)
開発環境:Pycharm
###実現したい事
'ひらがな'を選択した時、二つ目のプルダウンメニューは('あ', 'い', 'う', 'え', 'お')
'カタカナ'を選択した時、二つ目のプルダウンメニューは('ア', 'イ', 'ウ', 'エ', 'オ')
'alphabet'を選択した時、二つ目のプルダウンメニューは('a', 'i', 'u', 'e', 'o')
となるようにしたい。
###発生している問題
0. 一つ目のプルダウンメニューを選択してから二つ目のプルダウンメニューが表示される(できれば最初から存在していて、一つ目を選択してから二つ目のリストを表示させたい)
- 一つ目のプルダウンメニューを選択した後、再度選択ができない(選択肢がalphabetのみになる)
###該当のソースコード
Python
1import tkinter as tk 2import tkinter.ttk as ttk 3 4root = tk.Tk() 5 6cb1 = ttk.Combobox(root, state='readonly') 7cb1['values'] = ('ひらがな', 'カタカナ', 'alphabet') 8cb1.grid(row=1, column=1) 9 10 11# cb1で'ひらがな'を選択したら、cb2_1のプルダウンリストになる 12def hira_selected(event): 13 cb1['values'] = 'ひらがな' 14 cb2_1 = ttk.Combobox(root, state='readonly') 15 cb2_1['values'] = ('あ', 'い', 'う', 'え', 'お') 16 cb2_1.grid(row=1, column=2) 17 18 19cb1.bind('<<ComboboxSelected>>', hira_selected) 20cb1.bind('<<Return>>', hira_selected) 21 22 23# cb1で'カタカナ'を選択したら、cb2_2のプルダウンリストになる 24def kata_selected(event): 25 cb1['values'] = 'カタカナ' 26 cb2_2 = ttk.Combobox(root, state='readonly') 27 cb2_2['values'] = ('ア', 'イ', 'ウ', 'エ', 'オ') 28 cb2_2.grid(row=1, column=2) 29 30 31cb1.bind('<<ComboboxSelected>>', kata_selected) 32cb1.bind('<<Return>>', kata_selected) 33 34 35# cb1で'alphabet'を選択したら、cb2_3のプルダウンリストになる 36def alph_selected(event): 37 cb1['values'] = 'alpabet' 38 cb2_3 = ttk.Combobox(root, state='readonly') 39 cb2_3['values'] = ('a', 'i', 'u', 'e', 'o') 40 cb2_3.grid(row=1, column=2) 41 42 43cb1.bind('<<ComboboxSelected>>', alph_selected) 44cb1.bind('<<Return>>', alph_selected) 45 46root.mainloop() 47
初歩的な質問かと思いますが、ご回答をお願いいたします。
回答3件
あなたの回答
tips
プレビュー