Pythonで作るGUIアプリ入門 Part11 -ウィジェットの各種設定-
ウィジェットの各種設定
GUI ウィンドウ内のウィジェットを以下のように各種設定出来ます。
テキストの色設定
フォントの設定
テキストエリアのサイズ設定
テキストエリアの背景色設定
位置の設定
表示・非表示設定
イベント開始設定
今回は、よく使用するテキストの設定を紹介していきます。
テキストの色設定
テキストの色は、sg.Text(text = "", text_color = ‘16進数カラーコード ‘) で指定できます。16進数カラーコードは、#と6桁の数字で色を表します。HTMLやCSSでも色を指定するときに使用しますので、馴染み深い方も多いと思います。
GUIウィンドウに4つのテキストエリアを設置し、それぞれ異なるカラーコードを設定した図とコードは以下の通りとなります。
import PySimpleGUI as sg
layout = [
[sg.Text('オリジナルテキスト')],
[sg.Text('テキスト1', text_color='#008000')],
[sg.Text('テキスト2', text_color='#000000')],
[sg.Text('テキスト3', text_color='#ff0000')],
]
window = sg.Window('テキストカラーの設定', layout)
while True:
event, value = window.read() # イベントの入力を待つ
if event is None:
break
window.close()
テキストのフォント設定
テキストのフォントは、sg.Text(text = "", font = (‘フォント名‘, フォントサイズ)) で指定できます。フォントは、Tkinterのフォントファミリーを使用出来ます。使用なフォントを調べるには、以下のスクリプトを実行して下さい(コピペでOKです)。
import tkinter
import tkinter.font
tkinter.Tk()
print(tkinter.font.families())
ターミナルにフォント一覧が表示されますので、好みのフォントを指定します(Macでのフォント一覧は、本記事の一番最後に掲載しております)。今回は YuGothic を使用します。
先ほどのコードに、フォントとフォントサイズを追加すると以下のようになります。コードについては、レイアウトエリアのみを掲載します。
layout = [
[sg.Text('オリジナルテキスト')],
[sg.Text('テキスト1', text_color='#008000', font=('YuGothic', 20))],
[sg.Text('テキスト2', text_color='#000000', font=('YuGothic', 30))],
[sg.Text('テキスト3', text_color='#ff0000', font=('YuGothic', 40))],
]
テキストエリアのサイズ設定
テキストエリアのサイズは、sg.Text(text = "", size = (文字数,行数 )) で指定できます。文字数は、半角での文字数となります。全角は2文字扱いとなります。
先ほどのコードに、テキストエリアのサイズを追加すると以下のようになります。コードについては、レイアウトエリアのみを掲載します。
layout = [
[sg.Text('オリジナルテキスト')],
[sg.Text('テキスト1', text_color='#008000', font=('YuGothic', 20),size=(10,2))],
[sg.Text('テキスト2', text_color='#000000', font=('YuGothic', 30),size=(4,2))],
[sg.Text('テキスト3', text_color='#ff0000', font=('YuGothic', 40))],
]
テキストエリアの背景色設定
テキストエリアの背景色は、sg.Text(text = "", background_color=‘16進数カラーコード ‘) で指定できます。
先ほどのコードに、テキストエリアの背景色を追加すると以下のようになります。コードについては、レイアウトエリアのみを掲載します。
layout = [
[sg.Text('オリジナルテキスト')],
[sg.Text('テキスト1', text_color='#008000', font=('YuGothic', 20),size=(10,2))],
[sg.Text('テキスト2', text_color='#000000', font=('YuGothic', 30),size=(4,2))],
[sg.Text('テキスト3', text_color='#ff0000', font=('YuGothic', 40),background_color='#ffffff')],
]
以上のようにして、テキストウィジェットを各種設定出来ます。
次回もウィジェットの設定の続きを説明します。
GUIアプリ入門講座は毎日更新します!
記事が参考になりましたら、❤️を押していただけると励みになります😊