no-image

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

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アプリをつくる!おすすめのライブラリとは