tkinterを触ってみる。
python3系。
初pythonの上、初GUI作成。そしてオブジェクト指向はおぼつかない。
tkinterに関してよく言われているのは「ダサい」。新しくなってからは少しはマシになってきているらしい。他のを使ったことないからわからないけど、意外と普通に使えるし、意外と普通の見た目。その他、適当に触って何となく作ってみた感じとしては、
- macではボタンの背景色が変えられない
- 日本語入力が微妙
- テーブルがない
がちょっと気になるところ。
macではボタンの背景色が変えられない
まぁまぁ調べた結果、macではボタンの背景色が変えられない。っぽい。ttkのstyleで見た目をいじれるようにはなったけど、それでもボタンの背景色はダメな模様。
日本語入力が微妙
Entryを使ったところ、もしかしたらmacがダメなのかもしれないけど、入力できない。矢印とかも何やら文字化けした文字が。これはあんまり調べてない。
テーブルがない
あとテーブルがない。テーブル作れるライブラリもあるっぽいけど、とりあえずttkのtreeviewでも一応対応できる。こんな感じで。
コードは
from tkinter import ttk treeview = ttk.Treeview() #1列目の設定 #1列目は#0を指定 treeview.heading("#0", text='col1') #2列目以降の設定 treeview['columns'] = ('col2', 'col3', 'col4') [treeview.heading(v, text=v) for v in treeview['columns']] #行を追加 treeview.insert('', 'end', text='row1', values=('あいう', 'abc', '123')) treeview.insert('', 'end', text='row2', values=('かきく', 'def', '456')) treeview.pack(padx=10, pady=10) treeview.mainloop()
tkinter.tk()は
ちなみに、
root = tkinter.tk()
はなくても何かのwidgetがあれば自動で作られるらしく、明示的にインスタンス化しなくも良いらしい。
ということで
tkinter。初心者でもある程度は使えて、ある程度のことはできる。でもこだわりのものを作るなら他のものも検討した方が良いかもしれない。
コメント