実現したいこと
Python PySimpleGUIライブラリを使用し、Radio Buttonのクリックで表示の(ON/OFF)トグル処理を行いたい。
ここに実現したいことを箇条書きで書いてください。
- ▲▲機能を動作するようにする
AフレームとBフレームを配置し、各フレームを選択するRadio Buttonを付けています。
起動時のBフレーム内は表示文字やInputBoxもグレイアウトして使用不可の状態とし、Bフレーム側を選択するRadio Buttonのクリックイベントが発生した時点で、Bフレーム内の表示とInputBoxの使用が可能となるような処理を行いたいのですが、うまく処理ができません。
再度Aフレーム側のボタンを選択すると、起動時のに戻り、Bフレーム内の表示や入力ができない状態に戻るトグル処理です。
前提
(例)
TypeScriptで●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
フレーム内の書き換え表示処理がうまくできていないようです。
書き方が悪いようで、プログラムが強制終了していまいます。
目的の処理を行うようコーディングしたいのですが、方法がわかりません。
宜しくお願い致します。
エラーメッセージ
該当のソースコード
import PySimpleGUI as sg sg.theme('Dark Blue 17') cl='DarkSlateBlue' L1=[[sg.Radio(text='Frame1', group_id='A', enable_events=True, default=True, key='R1'), sg.Radio(text='Frame2', group_id='A', enable_events=True, default=False, key='R2')], [sg.Text('TEXTBOX1',key='T1'),sg.Input('',size=(4, 1),justification='right',key='D1')]] L2=[[sg.Text('')], [sg.Text('TEXTBOX2',key='T2',text_color=cl),sg.Input('',size=(4,1),key='D2',justification='right', disabled=False, text_color=cl)]] L3=[[sg.Button('Exit')] ] # レイアウト layout = [[sg.Frame('Frame1',L1,key='F1'),sg.Frame('Frame2',L2,key='F2',title_color=cl)], [L3]] # ウィンドウ作成 window = sg.Window("TEST" , layout) while True: event, values = window.read() print(event,values) if event == sg.WIN_CLOSED or event == 'Exit': break if event == 'R1': print ('Frame2内の全ての文字色を変更&Inputボックスを入力不可にしたい') cl='DarkSlateBlue' # sg.Text('TEXTBOX2',text_color=cl),sg.Input('',size=(4,1),key='D2',justification='right', disabled=False, text_color=cl) continue elif event == 'R2': print ('Frame2内の全ての文字色をFrame1と同じにしてInputボックスを入力可にしたい') cl='White' # sg.Frame('F2').update(sg.Frame('Frame2',title_color=cl)) # sg.Text('T2').update(sg.Text('TEXTBOX2',text_color=cl)) # sg.Text('TEXTBOX2',text_color=cl),sg.Input('',size=(4,1),key='D2',justification='right', disabled=True, text_color=cl) continue else: break window.close()
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

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