
Chapter
5
134
テ キスト 読み込みアプリを作る
アプリでボタン「btn1」を押したら、loadtext()関数を実行するようにします。このと
き、ファイル選択ダイアログを表示して、ユーザーにテキストファイルを選択させます。
ただし、ユーザーはファイル選択ダイアログを開いても、ファイルを選択せずにキャン
セルする場合があります。すると「ファイルが選択されていないのに開こうとしてエラー」
になってしまいます。そこで、「もし、ファイル名がなかったら、なにもしないで
returnす
る」という以下のような安全対策を追加しておきます。
loadname = sg.popup_get_file("")
if not loadname:
return
そのあとは、「test502.py」で行ったしくみを使えばテキストファイルを読み込めますの
で、それを
Multiline(tx2)に表示させましょう。
import PySimpleGUI as sg
from pathlib import Path
import chardet
sg.theme("DarkBrown3")
layout = [[sg.B("
", k="btn1"), sg.T(k="txt1")],
[sg.ML(k="txt2", font=(None,14), size=(80,15))]]
win = sg.Window("
", layout)
def loadtext ...