回答編集履歴

1

2025/04/13 04:18

投稿

melian
melian

スコア21104

test CHANGED
@@ -10,20 +10,20 @@
10
10
  class Main():
11
11
  def __init__(self):
12
12
  self.root = tk.Tk()
13
- self.option = ["選択肢1", "選択肢2", "選択肢3"]
13
+ self.options = {'選択肢1': 'default value',
14
+ '選択肢2': 'hoge',
15
+ '選択肢3': 'hogehoge'}
14
- self.x = ""
16
+ self.x = ''
15
- self.combo = ttk.Combobox(self.root, values=self.option)
17
+ self.combo = ttk.Combobox(self.root, values=[*self.options.keys()])
16
18
  self.combo.pack(pady=20)
17
- self.combo.bind("<<ComboboxSelected>>", self.get_selection)
19
+ self.combo.bind('<<ComboboxSelected>>', self.get_selection)
18
- self.button = ttk.Button(self.root, text="show value", command=self.show_value)
20
+ self.button = ttk.Button(self.root, text='show value', command=self.show_value)
19
21
  self.button.pack()
20
22
  self.root.mainloop()
21
23
 
22
24
  def get_selection(self, event):
23
- match self.combo.get():
25
+ selected = self.combo.get() # 選択された値を取得
24
- case '選択肢1': self.x = 'default value'
25
- case '選択肢2': self.x = 'hoge'
26
+ self.x = self.options.get(selected, '')
26
- case '選択肢3': self.x = 'hogehoge'
27
27
 
28
28
  def show_value(self):
29
29
  messagebox.showinfo('value', self.x)