回答編集履歴
1
test
CHANGED
@@ -10,20 +10,20 @@
|
|
10
10
|
class Main():
|
11
11
|
def __init__(self):
|
12
12
|
self.root = tk.Tk()
|
13
|
-
self.option =
|
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(
|
19
|
+
self.combo.bind('<<ComboboxSelected>>', self.get_selection)
|
18
|
-
self.button = ttk.Button(self.root, text=
|
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
|
-
|
25
|
+
selected = self.combo.get() # 選択された値を取得
|
24
|
-
case '選択肢1': self.x = 'default value'
|
25
|
-
|
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)
|