ryotankの備考録日記

趣味の電子工作についての備考録などなど

回路草案入力フォームその7

フォームに沿って各項目を入力していくには以下の事が出来るのが前提になる
0.sg.Inputをenable_events引数で設定してイベントとして処理する

1.取りあえずsg.Inputで入力されたものをリスト化

2.リスト化したものをjoblibで書き出し処理をする

これをコード化して動作確認をしてみた

import PySimpleGUI as sg
import sys #システムパラメータに関する関数を含んだモジュール
sys.setrecursionlimit(10000) #エラー回避
import joblib

layout = [
		sg.Text('作成目的', font=16),
                sg.Input(size=(20,3), enable_events=True)]



window = sg.Window('入力された文字列をtxtファイルにして書きだす', layout)

while True:
    event, values = window.read()

    if event is None:
       break

    #保存するリスト
    list = sg.Input()

    #書き出し処理
    joblib.dump(list, "test_temp.txt", compress=3)

#終了処理
window.close()

ただ保存されたファイルの内容は文字コードUnicode
保存された為、人間が読めるようなものでは無かった・・・・

  • 保存されたtxtファイル名:test_temp1.txt
  • 書かれた内容:x^eRヘoモ0•/ャk;コ獷粤ツ・擁••ホャ」ィDdQ崔ムr笳ト,ア#ヌ゙(メ$ク 酢テ・•yNC・滿鉐
  • 実際に入力した内容:daffw

今度は文字コードutf-8エンコードするように変換して
再度動作確認する