長い文字列を表示すると、改行が不適切な所で行われるのを防ぐ。
* Multlineに改行を入れる.py 2/14/2024
# 文字列の要素が複数あって、最後だけ改行を入れるなどはまだ非対策 2/19/2024
import PySimpleGUI as sg
* 元の文字列
original_string = "野球:我会打棒球。 (Wǒ huì dǎ bàngqiú.)、サッカー:我会踢足球。 (Wǒ huì tī zúqiú.)、バスケ:我会打篮球。 (Wǒ huì dǎ lánqiú.)、アメフット:我会玩橄榄球。 (Wǒ huì wán gǎnlǎnqiú.)、水泳:我会游泳。 (Wǒ huì yóuyǒng.)、スケート:我会溜冰。 (Wǒ huì liūbīng.)"
* 日本語の全角スペースで改行
split_string = original_string.split("、")
#print(split_string) # ['野球:我会打棒球。 (Wǒ huì dǎ bàngqiú.)', 'サッカー:我会踢足球。, ~ '水泳:我会游泳。 (Wǒ huì yóuyǒng.)', 'スケート:我会溜冰。 (Wǒ huì liūbīng.)'] OK
formatted_string = "、\n".join(split_string)
*上の文字列を改行すると、次のように読みやすくなる。
print(formatted_string)
野球:我会打棒球。 (Wǒ huì dǎ bàngqiú.)、
サッカー:我会踢足球。 (Wǒ huì tī zúqiú.)、
バスケ:我会打篮球。 (Wǒ huì dǎ lánqiú.)、
アメフット:我会玩橄榄球。 (Wǒ huì wán gǎnlǎnqiú.)、
水泳:我会游泳。 (Wǒ huì yóuyǒng.)、
スケート:我会溜冰。 (Wǒ huì liūbīng.) OK!
* GUIレイアウト
layout = [[sg.Multiline(formatted_string, size=(60, 8), disabled=True)]]
* ウィンドウの生成
window = sg.Window("Formatted String", layout)
* イベントループ
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
window.close()