機械系エンジニアの備忘録

20代独身社会人。仕事では機械・機構の研究開発を行っているエンジニアが、自分の専門分野ではないpythonを扱って楽しむブログです。

MENU

【Python】【Tkinter】ラジオボタンを使ってみよう

pythonTkinterラジオボタンを使う方法

■はじめに

これまでtkinterでラベル、エントリーボックス、ボタンなどの基本から、これらを応用したタイマーの作り方などを紹介してきました。

tkinterはラベル、エントリーボックス、ボタン以外にもいくつか便利な部品があります。今回はその中の1つ、ラジオボタンを紹介します。

 

■コード

忙しい方やpythonのコードを自力で読んで理解できる方向けに、先にコードを載せます。動作環境はAnaconda(python3.7)です。

import tkinter as tk

#ウインド画面の作成
root=tk.Tk()
root.title("ラジオボタンの使い方")
root.geometry("200x200")

#ラジオボタンの作成
var=tk.IntVar()
var.set(0)
radio_0=tk.Radiobutton(value=0,variable=var,text="ラジオボタン0")
radio_0.pack()
radio_1=tk.Radiobutton(value=1,variable=var,text="ラジオボタン1")
radio_1.pack()
radio_2=tk.Radiobutton(value=2,variable=var,text="ラジオボタン2")
radio_2.pack()
radio_3=tk.Radiobutton(value=3,variable=var,text="ラジオボタン3")
radio_3.pack()

#テキストの作成
text_str=tk.StringVar()
text_str.set("ボタンを押して下さい")
text=tk.Label(textvariable=text_str)
text.pack()

#ボタンを押したときに動作する関数
def check():
    text_check=var.get()
    text_str.set(str(text_check))

#ボタンの作成
Button=tk.Button(text="判定",command=check)
Button.pack()

#画面の表示
root.mainloop()

 

今回、上から順にラジオボタンに0,1,2,3と番号を付けています。

すなわちラジオボタン0の番号は0,ラジオボタン1の番号は1....のような感じです。

このコードを実行すると以下のような画面が表示されます。

f:id:stjun:20190707231333p:plain

ここで好きなラジオボタン(今回は上から3つ目の「ラジオボタン2」、番号は2)を選択し判定を押します。

f:id:stjun:20190707231443p:plain

すると「ボタンを押してください」というテキストが「2」に変化しました。

すなわち選択したラジオボタンの番号を取得できたことになります。

この仕組みはアンケートなどを作る際に非常に便利です。

 

■説明

ラジオボタンの作成は非常に簡単です。

var=tk.IntVar()
var.set(0)
radio_0=tk.Radiobutton(value=0,variable=var,text="ラジオボタン0")
radio_0.pack()

まずラジオボタンの説明から行います。

Radiobuttonのカッコの中のvalueの値(上ではvalue=0)が私がラジオボタンにつけた番号です、このvalueとその次のvariableの値が同じ場合にはラジオボタンが黒丸(選択された状態)になり、同じでなければ白丸(選択されていない状態)になります。

 

では次のようにvariable=0とした場合どうなるでしょうか?

radio_0=tk.Radiobutton(value=0,variable=0,text="ラジオボタン0")

 答えは、常に黒丸(選択された状態)になり選択を外すことができなくなります。

これは実用上問題です。ラジオボタンは複数の選択肢の中から選ぶような場面で使うため、ラジオボタンを自由に選択できないといけません。

そこで1行目と2行目のvar=tk.IntVar() とvar.set(0)を使います。1行目のvar=tk.IntVar()はv様々な整数を入れることができる変数varを作るという意味です。2行目では初期値として整数0を入れています。このように記載すると複数のラジオボタンがある場合に自由に選択できるようになります。

ただ上記の意味が分からなくても大丈夫です。このように書けばちゃんと動くと丸暗記してしまいましょう。

 

■ 読んで良かった本を紹介

私はAmazon kindle unlimitedというサービスを1年以上利用しています。

これは月額980円で 和書12万冊以上の電子書籍を読めるサービスです。

ビジネス本、雑誌、漫画、技術本など様々な本を読むことができます。

なおkindle unlimitedは最初の30日間無料のため、気軽に登録してみて、あまり読みたい本が無ければすぐに解約しても問題ありません。

それか30日に気になる本を全て読破すれば実質タダです。

ぜひ気になった方はチェックしてみて下さい。

なお学生さんであればkindle unlimitedよりも年2450円(月210円程度)で映画見放題、音楽聞き放題、本読み放題の「prime student」がおすすめです。

以下に私がkindle unlimitedで読んでよかった本を紹介します。kindle unlimitedに登録すれば何回読んでも何冊読んでも月額980円だけです。

 

1. 

tkinterでの基本的なパーツの作成方法(ボタンやテキストやスクロールバー等)について、初心者が読んでもすぐに分かるように丁寧に書かれています。私はtkinterを学んだ後に知りましたが、こんなに分かりやすい本があるなら初めからこの本を読んで勉強すればこんなに苦労するなかったのにと思ったくらいです...

 

2.

 投資信託について「投資信託とは?」「どうやって始めるか?」「口座はどこで開設するか?」など具体的なアクションまで書かれている本です。ど素人の著者が口座や銘柄を選ぶ過程が詳しく書いてるので非常に分かりやすかったです。

 

3. 

さおだけ屋はなぜ潰れないのか? 身近な疑問からはじめる会計学 (光文社新書)

さおだけ屋はなぜ潰れないのか? 身近な疑問からはじめる会計学 (光文社新書)

  • 作者:山田 真哉
  • 出版社/メーカー: 光文社
  • 発売日: 2005/02/16
  • メディア: 新書
 

 ジャンルは経済に入ると思いますが全然堅苦しくなく読める本です。身近な事例をもとに「成程、そういうことだったんだ」と思うような説明がされていて面白かったです。

 

4. 

多動力 (NewsPicks Book) (幻冬舎文庫)

多動力 (NewsPicks Book) (幻冬舎文庫)

 

既にベストセラーになってる本なので読んだ方も多いと思います。

堀江さんは時にキツイ物言いで炎上しますが、言ってることや考えてることはすごくまともだし、それを説明する能力にも長けているので読んでいてためになりました。 

 

5. 

「どういうお金の使い方をしたら幸せを感じれるのか?」「お金持ちになったら本当に幸せになれるのか?」を大きなテーマに、様々な体験談や研究事例を通してお金の賢い使い方を紹介している本です。

 

6. 雑誌系

家電、美容、アウトドア、経済など様々な雑誌があります。

こういった雑誌を買っていませんか?1つでも買っているならkindle unlimitedに登録した方が安上がりで更に読み放題です。

MONOQLO (モノクロ) 2020年 02月号 [雑誌]

MONOQLO (モノクロ) 2020年 02月号 [雑誌]

 
家電批評 2020年 1月号 [雑誌]

家電批評 2020年 1月号 [雑誌]

  • 作者: 
  • 出版社/メーカー: 晋遊舎
  • 発売日: 2019/12/03
  • メディア: Kindle
 
ロードバイク完全メンテナンス (エイムック 3544 BiCYCLE CLUB別冊)

ロードバイク完全メンテナンス (エイムック 3544 BiCYCLE CLUB別冊)

  • 作者: 
  • 出版社/メーカー: エイ出版社
  • 発売日: 2016/11/29
  • メディア: ムック
 
繰り返し作りたくなる!  ラク弁当レシピ (エイムック 3680)

繰り返し作りたくなる! ラク弁当レシピ (エイムック 3680)

 
Tarzan(ターザン) 2020年1月23日号 No.779 [内臓脂肪 皮下脂肪すっきり落とす!] [雑誌]

Tarzan(ターザン) 2020年1月23日号 No.779 [内臓脂肪 皮下脂肪すっきり落とす!] [雑誌]

  • 作者: 
  • 出版社/メーカー: マガジンハウス
  • 発売日: 2020/01/04
  • メディア: Kindle
 
DIME(ダイム) 2020年 03 月号 [雑誌]

DIME(ダイム) 2020年 03 月号 [雑誌]

  • 作者: 
  • 出版社/メーカー: 小学館
  • 発売日: 2019/12/16
  • メディア: 雑誌
 

 

7. 

この本は「1. 著者の筋トレ格言」「2. 筋トレ体験談」「3. 筋トレの効能を学術論文を引用して科学的に説明」の3部からなっています。この本で私が好きな著者の考え方は、

「弱いのはメンタルではない、フィジカルだ。メンタルを鍛えたいならまずフィジカルを鍛えろ。」

 です。

気になる方は過去記事を見て下さい。

stjun.hatenablog.com

 

8. 

筋トレビジネスエリートがやっている最強の食べ方

筋トレビジネスエリートがやっている最強の食べ方

 

 5番と同じ著者の本です。痩せるためにどういった食事をすれば良いかについて書いてある本です。筋トレ本を出してる著者ですが、意外にも「痩せたいなら筋トレより食事だ」と言い切っていて面白かったです。1日どのくらいのカロリーやたんぱく質を取れば痩せるか計算してくれるサイトのURLがあり、それ通りに食事制限すると本当痩せました..

 

■最後に

ラジオボタンはユーザーに対して複数の選択肢から選ばせたい時に非常に効果を発揮します。有効に活用していきましょう。