プログラミン初心者です。
tkinter上のラジオボタンで選択した内容を、次の処理に進めるために実行ボタンでウィンドウを閉じた後の戻り値として設定したいです。
app.mainloop()は戻り値が設定できない、__init__は初期化されるため戻り値が設定できない(Noneになる)など、なんとなくエラー理由はわかるのですが、解決方法が見つからないためご教授お願い致します。
・menu_radio.py
import tkinter as tk class Application(tk.Frame): def __init__(self, master=None): super().__init__(master) self.master.title("ラジオボタンの作成") self.master.geometry("300x150") # ラジオボタンの値 self.radio_value = tk.IntVar() # ラジオボタンの作成 radio0 = tk.Radiobutton(self.master, text="印刷", # ラジオボタンの表示名 command=self.radio_click, # クリックされたときに呼ばれるメソッド variable=self.radio_value, # 選択の状態を設定する value=0 # ラジオボタンに割り付ける値の設定 ) radio1 = tk.Radiobutton(self.master, text="データ取込", # ラジオボタンの表示名 command=self.radio_click, # クリックされたときに呼ばれるメソッド variable=self.radio_value, # 選択の状態を設定する value=1 # ラジオボタンに割り付ける値の設定 ) radio2 = tk.Radiobutton(self.master, text="申請", # ラジオボタンの表示名 command=self.radio_click, # クリックされたときに呼ばれるメソッド variable=self.radio_value, # 選択の状態を設定する value=2 # ラジオボタンに割り付ける値の設定 ) # ボタンの作成 button = tk.Button(self.master, text="実行", # ボタンの表示名 command=self.close_window ) # 配置 radio0.pack(anchor=tk.W,pady=0) radio1.pack(anchor=tk.W,pady=10) radio2.pack(anchor=tk.W) button.pack() def radio_click(self): # ラジオボタンの値を取得 value = self.radio_value.get() print(f"ラジオボタンの値は {value} です") def close_window(self): selected_value = self.radio_value.get() self.master.destroy() print('最後に選択したのは:', selected_value) return selected_value if __name__ == "__main__": root = tk.Tk() app = Application(master=root) app.mainloop()
意図としては別の.pyファイルで以下のようにして処理したいと考えています。
selected_value = menu_radio.Application(master=root).mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/04/07 03:37