素材集めGUIその4
各素材にステージ名を組み込んで動作するかを検証
試しに走らせると次のようなエラーが発生
どうやら"リストに[]する時は文字列は使えないので、
数字かスライス[3:8]もような表記をつけよう"というエラー内容みたい
その時のコードが
#ファイル名:素材集め表示GUI_ver1.0 #動作確認日: import PySimpleGUI as sg sg.theme('LightGreen4') def get_stagename(sozai_name): """"素材名を受け取り、ステージ名を返す""" stage_dict ={'合成コール'}, {'マンガン'}, {'碇石(ていせき)'}, {'RMA70-12'}, {'人工ゲル'}, {'素子結晶'}, {'合金'}, {'中級源岩':['4-6']}, {'半自然溶剤':['9-18']} return stage_dict[sozai_name] layout = [ [sg.Text('素材名')], [sg.Combo(values=['合成コール','マンガン', '碇石(ていせき)', 'RMA70-12', '人工ゲル', '素子結晶', '合金', '中級源岩', '半自然溶剤'], default_value="選択してください。",size=(20, 1), key='SOZAI', enable_events=True)], [sg.Text('ステージ名')], [sg.Combo(values=[''], size=(20, 1), key='STAGENAME')], [sg.T('')], [sg.Button('Exit')] ] window = sg.Window('素材集め表示GUI_ver1.0', size=(300, 300)).Layout(layout) while True: event, values = window.read() if event is None or event == 'Exit': break if event == 'SOZAI': sozai = values['SOZAI'] stagename = get_stagename(sozai) window.FindElement('STAGENAME').update(values=stagename) window.close()
どうやらstage_dictの書き方がまずいかも・・と疑い始めた
次回は、そのdictの書き方について勉強して直した上で
ver1.0のコードを書き直して動作するかを確かめる