PythonからGUIを構築・操作するための標準ライブラリであるTkinterで使用するWidgetのテキストデータの扱いについてのまとめです.
動作環境
- Python 3.12.0
- tkinter 8.6.12
- tkcalendar 1.6.1
Widget
文字ラベル
文字ラベルは次のコマンドで設定できます.
tkinter.Label(text="")
絵 ↓
Labelウィジェットのテキストデータの取得・出力・削除は下記の通りです.
wLabel = tkinter.Label(self.main, text="test") #self.main...ウィンドウ
# テキストデータ取得
wLabel.cget("text")
# テキストデータ出力
wLabel["text"] = "Qiita"
# テキストデータ削除
wLabel["text"] = ""
テキストボックス
テキストボックスは次のコマンドで設定できます.
tkinter.Entry()
絵 ↓
Entryウィジェットのテキストデータの取得・出力・削除は下記の通りです.
wEntry = tkinter.Entry(self.main) # self.main...ウィンドウ
# テキストデータ取得
wEntry.get()
# テキストデータ出力
wEntry.insert(0, "Qiita")
# テキストデータ削除
wEntry.delete(0, tkinter.END)
insert
とdelete
の第一引数は,何文字目から出力,削除を行うかを設定できます.上記の例では,0文字目(頭)からQiitaの文字列を出力,0文字目(頭)から最後の文字まで削除を行っています.
スクロールテキストボックス
スクロールテキストボックスは次のコマンドで設定できます.
tkinter.scrolledtext.ScrolledText()
絵 ↓
右端を見るとうっすらスクロールバーが見えます.
ScrolledTextウィジェットのテキストデータの取得・出力・削除は下記の通りです.
wScrolledText = tkinter.scrolledtext.ScrolledText(self.main) # self.main...ウィンドウ
# テキストデータ取得
wScrolledText.get("1.0", "end-1c")
# テキストデータ出力
wScrolledText.insert(0, "Qiita")
# テキストデータ削除
wScrolledText.delete('1.0', 'end-1c')
プルダウン
プルダウンは次のコマンドで設定できます.
tkinter.ttk.combobox()
絵 ↓
comboboxウィジェットのテキストデータの取得・出力・削除は下記の通りです.
lst = ("0", "1", "2")
wCombobox = tkinter.ttk.combobox(self.main, values=lst) # self.main...ウィンドウ, values...選択リスト
# テキストデータ取得
wCombobox.get()
# テキストデータ出力
wCombobox.set("Qiita") # 文字列がリストになくても表示できます.
# テキストデータ削除
wCombobox.set("")
チェックボックス
チェックボックスは次のコマンドで設定できます.
tkinter.Checkbutton()
絵 ↓
Checkbuttonウィジェットのテキストデータの取得・出力・削除は下記の通りです.
boolvar = tkinter.BooleanVar() # True/False
wCheckbutton = tkinter.Checkbutton(self.main, variable=boolvar) # self.main...ウィンドウ
# チェック状態取得
boolvar.get() # 取得値はTrue/False
# チェック状態を設定
boolvar.set(True) # チェックをつける
boolvar.set(False) # チェックを外す
カレンダー
tkcalendar
という外部ライブラリになりますが,カレンダーは次のコマンドで設定できます.
tkcalendar.DateEntry()
絵 ↓
DateEntryウィジェットの日付データの取得・出力は下記の通りです.
wDateEntry = tkcalendar.DateEntry(self.main) # self.main...ウィンドウ
# 日付を設定
wDateEntry.set_date(date) # dateはDate型変数
# 日付を取得
wDateEntry.get_date() # 取得値はDate型