tkinterで忘れがちなこと色々 其の2
いつもPyrhonプログラムを作るときに調べながら作るけどもすぐ忘れてしまう。なのでメモを残しておこうと。其の2。
目次
gridでGUIパーツを配置する例
import tkinter if __name__ == '__main__': root = tkinter.Tk() l1 = tkinter.Label(root, text='左上') l2 = tkinter.Label(root, text='左下') l3 = tkinter.Label(root, text='右上') l4 = tkinter.Label(root, text='右下') l1.grid(row=0, column=0) l2.grid(row=1, column=0) l3.grid(row=0, column=1) l4.grid(row=1, column=1) tkinter.mainloop()
実行結果は以下の通り。
grid(マス目状)にGUIパーツを並べる例。packの代わりにgridを呼べばいい。その際row(行)、column(列)を指定する。
tkinter.Entry入力値の取得方法2通り
import tkinter if __name__ == '__main__': def func(): print(var.get()) print(e.get()) root = tkinter.Tk() var = tkinter.StringVar() e = tkinter.Entry(root, textvariable=var) b = tkinter.Button(text='Exec', command=func) e.pack() b.pack() tkinter.mainloop()
実行結果(GUI表示のみ)は以下の通り。
tkinter.Entryオブジェクトからget()を呼ぶ方法と、tkinter.StringVar()でインスタンス化したオブジェクトをtextvariable=varといった形で登録しておく方法がある。GUIパーツによってはget()が用意されていない場合があるので、tkinterにおいては後者の方法が一般的のようだ。
tkinter.Entry初期値の設定方法
import tkinter if __name__ == '__main__': root = tkinter.Tk() e = tkinter.Entry(root) e.insert(0, 'default') e.pack() tkinter.mainloop()
実行結果は以下の通り。
insert()で設定できる。第一引数は挿入位置を表していて、この場合(0を指定した場合)は行頭から文字を挿入する。tkinter.ENDを指定すると、文末に文字を挿入でき、すでに入力値があった場合には、既存文字列を消さずに追記できる。
コメント
コメントを投稿