lab_laboratory

情報学生のアウトプットを行っていくためのブログ

【Python3】 jupyter NotebookでTkinterやってみた!!

記事的にはあんまり新規性はないのかもしれませんが,めっちゃ楽しかったので書かせてください.というか書きます!!

 

 開発環境

    Python3.6.6

              Anaconda 

     jupyter Notebook

f:id:lab-lab:20181009214832j:plain

 開発環境はみんな大好きPython!!いぇーい

ごめんなさい.私Python大好きなんです

 

anacondaの導入ができているなら,Tkinterはもうできているも同然!!

 

まずはインポートしましょう

import tkinter as tk

 基本は大事です!!

ちなみに

import tkinter

↑でもおkです.自分はコードをあんまり書きたくないので,tkと略して書いてます.略さない方はtkの部分をtkinterに書き換えれば動きます.

 

さっそくウィンドウを出してみましょう!!

root = tk.Tk()
root.mainloop()

 

f:id:lab-lab:20181009215954p:plain

 この二文だけでもうウィンドウ表示とかイケてるぜ!!

 

次にウィンドウの大きさ,タイトル,文字表示を一気に行くぜ!!

 

root = tk.Tk()
root.title(u"Software Title")#タイトル
root.geometry("400x300")#ウィンドウサイズ
label = tk.Label(root, text="Hello,World")#ラベル(文字の表示)

 

#ラベル表示
label.grid()


root.mainloop()

 

f:id:lab-lab:20181009220958p:plain

 

今度はボタン追加だ!!

import tkinter as tk


root = tk.Tk()
root.title(u"Software Title")#タイトル
root.geometry("400x300")#ウィンドウサイズ
label = tk.Label(root, text="Hello,World")#ラベル(文字の表示)


#ボタンを追加
button = tk.Button(root, text="ボタン", command="pushed")

 

#ラベル表示
label.grid()

#ボタン表示
button.grid()

root.mainloop()

  ↑だと押せるだけのボタンなので,面白くないですね~

 

そこでボタンを押したら,何か起きるコードを書きましょう!!

root = tk.Tk()
root.title(u"Software Title")
root.geometry("400x300")

#
# ボタンが押されるとここが呼び出される
#
def DeleteEntryValue(event):
#エントリーの中身を削除
label = tk.Label(root, text="Hello,World")#ラベル(文字の表示)
label.pack()


label = tk.Label(root, text="")#ラベル(文字の表示)
label.pack()

#ボタン
Button = tk.Button(text=u'ボタンです', width=50)
Button.bind("<Button-1>",DeleteEntryValue)
#左クリック(<Button-1>)されると,DeleteEntryValue関数を呼び出すようにバインド
Button.pack()

root.mainloop()

 

f:id:lab-lab:20181009224156p:plain

f:id:lab-lab:20181009224236p:plain

これで世界へのあいさつが足りないと不満に思っていた方にも,対応できるコードになりましたね.

 

これくらいで簡単ですが,Tkinterの紹介を終わりたいと思います.

どうでしたか?意外に簡単でしょ?

ですがこれはまだまだ序の口なのでいろいろ探してみてください!!

なんかもできるよ!!

ここからはぜひ自分でもっと探してみてね.

 

 

 私今日までTkinter知らなかった人間なんですが,見つけた時これだ!!!!

ってなりました.

なぜ私がこんなにTkinterを見つけて驚いているのか.さらになぜテンション上がっているのか.

簡単にGUIを作ることができるので,やりたいことをすぐにアウトプットする形にできるから!!

 

アウトプットで知見を広げようと思って,ブログを始めたのですが研究については目途が立ってなかったので,これで研究をアウトプットできれば簡単に自分のやってきたことを見てもらえる!!

 

まぁ自分語りはこれくらいにして ,「こんなことをやりたい」みたいなしっかりとして目標があるなら,軽く試しで使ってみてもいいと思います.

簡単ですのでアプリケーションの構想が湧くかもしれませんよ