tkinter使ってみた
プログラムの実行をguiにしたいときに手軽に組める。
以下サンプル
よく使う入力枠、ドロップダウンリスト、ラジオボタンの例
import tkinter as tk from tkinter import messagebox as tkm from tkinter import ttk def show(line): tkm.showinfo('sample', line) root = tk.Tk() root.title(u'Sample') root.geometry('300x300') # 入力ボックス label1 = ttk.Label(text=u'入力') label1.pack() entry = ttk.Entry(width=20) entry.pack(pady=(0,5)) # ドロップダウンリスト label2 = ttk.Label(text=u'ドロップダウンリスト') label2.pack() combo = ttk.Combobox(width=15, state='readonly') combo["values"] = ['ちょえーーーー!!!','くわっ!!!','はーーーーーっ!!!','ふひふふっひいいい!!!'] combo.current(0) combo.pack(pady=(0,5)) # ラジオボタン label3 = ttk.Label(text=u'ラジオボタン') label3.pack() var = tk.StringVar() radio1 = ttk.Radiobutton(text=u"1", variable=var, value='キタ━─━─━ヾ(o✪‿✪o)シ━─━─━ッ♪') radio1.pack() radio2 = ttk.Radiobutton(text=u"2", variable=var, value='( `)3′)▃▃▃▅▆▇▉ブブブーブォォオ') radio2.pack(pady=(0,5)) #ボタンを押すと関数呼び出し button1 = tk.Button(text=u'入力ボックス表示', width=20, height=2, command=lambda: show(entry.get())) button1.pack(pady=(0,5)) button2 = tk.Button(text=u'ドロップダウンリスト表示', width=20, height=2, command=lambda: show(combo.get())) button2.pack(pady=(0,5)) button3 = tk.Button(text=u'ラジオボタン選択表示', width=20, height=2, command=lambda: show(var.get())) button3.pack(pady=(0,5)) root.mainloop()
タブを使う場合
import tkinter as tk from tkinter import ttk from tkinter import messagebox as tkm def show(line): tkm.showinfo('test', line) class set_tab1(): def __init__(self, tab): self.var = tk.StringVar() self.tab = tab self.set_entry() self.set_button() def set_entry(self): frame = tk.Frame(self.tab) frame.pack(pady=(10, 20)) label = ttk.Label(frame, text=u'エントリー', width=10) label.pack(side='left', anchor=tk.W, padx=(0, 10)) entry = ttk.Entry(frame, textvariable=self.var, width=25) entry.pack(side='left', anchor=tk.W) def set_button(self): Button = tk.Button(self.tab, text=u'表示', width=20, height=3, command=lambda: show(self.var.get())) Button.pack() class set_tab2(): def __init__(self, tab): self.var = tk.StringVar() self.tab = tab self.set_dropdown() self.set_button() def set_dropdown(self): frame = tk.Frame(self.tab) frame.pack(pady=(10, 20)) label = ttk.Label(frame, text=u'ドロップダウン', width=10) label.pack(side='left', anchor=tk.W, padx=(0, 10)) combo = ttk.Combobox(frame, width=20, state='readonly') combo["values"] = ['ちょえーーーー!!!', 'くわっ!!!', 'はーーーーーっ!!!', 'ふひふふっひいいい!!!'] combo.current(0) combo.pack(side='left', anchor=tk.W) self.var = combo def set_button(self): Button = tk.Button(self.tab, text=u'表示', width=20, height=3, command=lambda:show(self.var.get())) Button.pack() class set_tab3(): def __init__(self, tab): self.var = tk.StringVar() self.tab = tab self.set_radio() self.set_button() def set_radio(self): frame = tk.Frame(self.tab) frame.pack(pady=(10, 20)) label = ttk.Label(frame, text=u'ラジオボタン', width=10) label.pack(side='left', anchor=tk.W, padx=(0, 10)) radio1 = ttk.Radiobutton(frame, text=u"1", variable=self.var, value='キタ━─━─━ヾ(o✪‿✪o)シ━─━─━ッ♪') radio1.pack(side='left', padx=(0, 10)) radio2 = ttk.Radiobutton(frame, text=u"2", variable=self.var, value='( `)3′)▃▃▃▅▆▇▉ブブブーブォォオ') radio2.pack(side='left') def set_button(self): Button = tk.Button(self.tab, text=u'表示', width=20, height=3, command=lambda:show(self.var.get())) Button.pack() if __name__ == '__main__': root = tk.Tk() root.title(u'サンプル') root.geometry('400x250') root.resizable(False, False) # ノートブック nb = ttk.Notebook(width=100, height=300) # タブ作成 tab1 = ttk.Frame(nb) tab2 = ttk.Frame(nb) tab3 = ttk.Frame(nb) nb.add(tab1, text='エントリー', padding=3) nb.add(tab2, text='ドロップダウン', padding=3) nb.add(tab3, text='ラジオボタン', padding=3) nb.pack(expand=1, fill='both') # タブ配置 set_tab1(tab1) set_tab2(tab2) set_tab3(tab3) root.mainloop()
以下のサイトがめちゃわかりやすい
Introduction · tkinter