2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SuiSuiAdvent Calendar 2023

Day 23

widgetのテキストを取得・出力・削除

Posted at

PythonからGUIを構築・操作するための標準ライブラリであるTkinterで使用するWidgetのテキストデータの扱いについてのまとめです.

動作環境

  • Python 3.12.0
  • tkinter 8.6.12
  • tkcalendar 1.6.1

Widget

文字ラベル

文字ラベルは次のコマンドで設定できます.
tkinter.Label(text="") 絵 ↓
image.png

Labelウィジェットのテキストデータの取得・出力・削除は下記の通りです.

wLabel = tkinter.Label(self.main, text="test") #self.main...ウィンドウ
# テキストデータ取得
wLabel.cget("text")
# テキストデータ出力
wLabel["text"] = "Qiita"
# テキストデータ削除
wLabel["text"] = ""

テキストボックス

テキストボックスは次のコマンドで設定できます.
tkinter.Entry() 絵 ↓
image.png

Entryウィジェットのテキストデータの取得・出力・削除は下記の通りです.

wEntry = tkinter.Entry(self.main) # self.main...ウィンドウ
# テキストデータ取得
wEntry.get()
# テキストデータ出力
wEntry.insert(0, "Qiita")
# テキストデータ削除
wEntry.delete(0, tkinter.END)

insertdeleteの第一引数は,何文字目から出力,削除を行うかを設定できます.上記の例では,0文字目(頭)からQiitaの文字列を出力,0文字目(頭)から最後の文字まで削除を行っています.

スクロールテキストボックス

スクロールテキストボックスは次のコマンドで設定できます.
tkinter.scrolledtext.ScrolledText() 絵 ↓
image.png
右端を見るとうっすらスクロールバーが見えます.

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() 絵 ↓
image.png

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() 絵 ↓
image.png

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() 絵 ↓
image.png

DateEntryウィジェットの日付データの取得・出力は下記の通りです.

wDateEntry = tkcalendar.DateEntry(self.main) # self.main...ウィンドウ
# 日付を設定
wDateEntry.set_date(date) # dateはDate型変数 
# 日付を取得
wDateEntry.get_date() # 取得値はDate型
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?