TkinerでPythonGUIプログラミング!【備忘録】

2019-07-11

Pythonの標準ライブラリでTkiner簡単にGUIが作れると聞いてやってみました。

もくじ

  1. Tkinerとは
  2. PythonでGUIを作るには
  3. ソースコード
  4. 参考

Tkinerとは

Tkinkerは、PythonでGUIを作れるツールキットです。
GUI形式てPythonスクリプトを実行できるようになるみたいです。

作れる部品としては、

・ラベル
・1行入力ボックス
・ボタン
・チェックボックス
・ラジオボタン
・リストボックス
・メニュー
・スクロールバーなど

と、一通りの部品は作れるみたいです。

参考にしたサイトはこちらです。
PythonのTkinterを使ってみる

今回は、こんな感じのシンプルなGUIアプリケーションをつくりました。

PythonでGUIを作るには

そもそも、PythonでGUIを作るにはいくつか方法があるようです。
Tkinerは標準ライブラリとして採用こそされていますが、現在最も主流なのはwxPythonというライブラリだそうです。
あのDropboxのGUIアプリケーションもwxPythonを使って書かれているそうです。
他にもkivyや、ライブラリではありませんがWEBの知識を使ってGUIアプリケーションを作成できるElectronを使うという方法もあります。

上記の方法で作成したプログラムを実行ファイル形式でパッケージ化すれば、GUIアプリケーションの完成です。
アイデア次第で自分だけのアプリケーションを作れると思うとワクワクしますね。

ソースコード

さて、唐突ではありますが、今回作成したコードを貼っておきます。
申し訳ないことに詳細は割愛します。

以下のコードで、自分のツイッターにツイートを送信する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を使ってみる

PythonでGUIアプリをつくる!おすすめのライブラリとは