前提
こんにちは、教えていただきたいです。
PySimpleGui使って、GUIウィンドウを作成して、その中にスライダーを配置しています。
GUIウィンドウを閉じる(×ボタン、Exitボタン)ときにスライダーの値をテキストに
書き出したいと思っています。
発生している問題・エラーメッセージ
Exitボタンを押して閉じるときには、問題なくテキストに値が書き込めますが、
×ボタンを押したときには、エラーメッセージが出て、書き込めていません。
エラーメッセージ f.write(str(values['SLIDER1'])) TypeError: 'NoneType' object is not subscriptable
該当のソースコード
Python
1import PySimpleGUI as sg 2 3layout = [ 4 [sg.Slider((0, 100), key='SLIDER1')], 5 [sg.Button('Exit')], 6] 7 8window = sg.Window("test", layout) 9 10while True: 11 event, values = window.read(timeout=1000) 12 13 if event in (sg.WINDOW_CLOSED, 'Exit'): #閉じるときに値を書き出し 14 with open('a.txt', 'w') as f: 15 f.write(str(values['SLIDER1'])) 16 break 17 18window.close()
質問
スライダーの値は values['SLIDER1']で取り出すしかないと思っているのですが、
if event in (sg.WINDOW_CLOSED, 'Exit')
×ボタンとExitボタンで何故挙動が異なるのか疑問です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/08 14:29