Pythonの標準ライブラリでTkiner簡単にGUIが作れると聞いてやってみました。
もくじ
Tkinerとは
Tkinkerは、PythonでGUIを作れるツールキットです。
GUI形式てPythonスクリプトを実行できるようになるみたいです。
作れる部品としては、
・ラベル
・1行入力ボックス
・ボタン
・チェックボックス
・ラジオボタン
・リストボックス
・メニュー
・スクロールバーなど
と、一通りの部品は作れるみたいです。
参考にしたサイトはこちらです。
PythonのTkinterを使ってみる
今回は、こんな感じのシンプルなGUIアプリケーションをつくりました。
Tkinkerで初めてのGUIアプリ作成に成功!
シンプルにGUIアプリからツイートを投稿するだけのアプリだけど、もう少し手を加えたら色々できそう! pic.twitter.com/xkD6yw8oTK— カシワバユキ@Androidアプリ (@yuki_kashiwaba) 2018年10月19日
PythonでGUIを作るには
そもそも、PythonでGUIを作るにはいくつか方法があるようです。
Tkinerは標準ライブラリとして採用こそされていますが、現在最も主流なのはwxPythonというライブラリだそうです。
あのDropboxのGUIアプリケーションもwxPythonを使って書かれているそうです。
他にもkivyや、ライブラリではありませんがWEBの知識を使ってGUIアプリケーションを作成できるElectronを使うという方法もあります。
上記の方法で作成したプログラムを実行ファイル形式でパッケージ化すれば、GUIアプリケーションの完成です。
アイデア次第で自分だけのアプリケーションを作れると思うとワクワクしますね。
【GUIをネイティブアプリっぽくする方法】
・スクリプト言語で作ったGUIをexe形式にする必要がある。・Pythonなら、py2exeやPyinstallerでパッケージ化が出来る。
・exe形式なら、Pythonの入ってない環境でも実行可能!
— カシワバユキ@Androidアプリ (@yuki_kashiwaba) 2018年10月19日
ソースコード
さて、唐突ではありますが、今回作成したコードを貼っておきます。
申し訳ないことに詳細は割愛します。
以下のコードで、自分のツイッターにツイートを送信するGUIアプリケーションを動かすことができます。
ずいぶんと駆け足になりましたが、今回は以上です。
from tkinter import * from tkinter import ttk import tweepy def foo(): CK = "Consumer Key" CS = "Consumer Secret" AT = "Access Token" AS = "Accesss Token Secert" auth = tweepy.OAuthHandler(CK, CS) auth.set_access_token(AT, AS) api = tweepy.API(auth) text = t.get() api.update_status(text) print("ツイートが完了しました") root = Tk() root.title('Test App') frame1 = ttk.Frame(root) label1 = ttk.Label(frame1, text='ツイートを入力してね:') t = StringVar() entry1 = ttk.Entry(frame1, textvariable=t) button1 = ttk.Button(frame1, text='OK', command=foo) frame1.grid(row=0,column=0,sticky=(N,E,S,W)) label1.grid(row=1,column=1,sticky=E) entry1.grid(row=1,column=2,sticky=W) button1.grid(row=2,column=2,sticky=W) for child in frame1.winfo_children(): child.grid_configure(padx=5, pady=5) root.mainloop()
参考
・WEB
PythonのTkinterを使ってみる