実現したいこと
Comboboxで選択した値の表示の更新について教えてください。
発生している問題・分からないこと
Comboboxで選択した値の表示の更新について教えてください。
値は更新され表示されるが前回選んだ値が表示されたままであり,その値の表示を消してから新たに選んだ値のみを表示するようにしたいです。
よろしくお願いいたします。
該当のソースコード
import tkinter as tk from tkinter import ttk def contents(selected_combo2): content_value_dict = {'Plan1':['Japan', 'Tokyo'], 'Plan2':['USA', 'Washington D.C'], 'Plan3':['UK', 'London'], 'Sub1' :['Indonesia', 'WJakarta'], 'Sub2' :['Singapore', 'None'] } info = content_value_dict[selected_combo2] return info def update_combo2(event): selected_value = combo1.get() combo2['values'] = select_dict[selected_value] combo2.set('') def event_combo2(event): info_lst = [] selected_combo2 = combo2.get() #print(selected_combo2) text_var = tk.StringVar() exe = contents(selected_combo2) content_name_lst = ['Country :', 'capital :'] for i in range(0, len(content_name_lst), 1): text_var.set(str(content_name_lst[i])+str(exe[i])) info_lst.append(text_var.get()) for s in range(0, len(content_name_lst), 1): label = tk.Label(root, text=info_lst[s]) label.pack() label.update() root = tk.Tk() root.geometry('600x700') option = ['Case1', 'Case2'] select_dict = {'Case1':['Plan1', 'Plan2', 'Plan3'], 'Case2':['Sub1', 'Sub2'] } combo1 = ttk.Combobox(root, values=option, state='reaonly') combo1.pack() combo1.bind('<<ComboboxSelected>>', update_combo2) combo2 = ttk.Combobox(root, state='reaonly') combo2.pack() combo2.bind('<<ComboboxSelected>>', event_combo2) root.mainloop()
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
例えばCase1,Plan1を選んだら'Japan', 'Tokyo'が表示される。
次にPlan2を選び直すと,'Japan', 'Tokyo'に続いて'USA', 'Washington D.C'が表示される。
これを,'USA', 'Washington D.C'のみが表示されるようにしたいです。
補足
特になし

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2025/04/20 04:21