Python3 tkinter 탭 구현 [sample]
그러나 제약이 있거나 사용법이 느껴지지 않는 사람
탭을 구현하고 일어났기 때문에 참고하십시오.
환경은 python3의 MacOS입니다.
※python2.7과 3에서 다릅니다.
실제 사용자 양식
입력 양식
표시 양식
소스 코드
sample-tkinter.py
# -*- coding: utf-8 -*-
import tkinter as tk
import tkinter.ttk as ttk
# 登録ボタンがクリックされた時にデータをDBに登録するコールバック関数
def create_sql():
# 日付の読み取り
acc_data = entry1.get()
print(acc_data)
# 内訳の読み取り
item_code = entry2.get()
# 金額の読み取り
amount = entry3.get()
# rootフレームの設定
root = tk.Tk()
root.title("家計簿アプリ")
root.geometry("300x280")
# ノートブック
nb = ttk.Notebook(width=200, height=200)
# タブの作成
tab1 = tk.Frame(nb)
tab2 = tk.Frame(nb)
tab3 = tk.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')
## タブ1
# 入力画面ラベルの設定
label1_1 = tk.Label(tab1,text="【入力画面】",font=("",16),height=2)
label1_1.pack(fill="x")
# 日付のラベルとエントリーの設定
frame1_1 = tk.Frame(tab1,pady=10)
frame1_1.pack()
label1_2 = tk.Label(frame1_1,font=("",14),text="日付")
label1_2.pack(side="left")
entry1_1 = tk.Entry(frame1_1,font=("",14),justify="center",width=15)
entry1_1.pack(side="left")
# 内訳のラベルとエントリーの設定
frame1_2 = tk.Frame(tab1,pady=10)
frame1_2.pack()
label1_3 = tk.Label(frame1_2,font=("",14),text="内訳")
label1_3.pack(side="left")
entry1_2 = tk.Entry(frame1_2,font=("",14),justify="center",width=15)
entry1_2.pack(side="left")
# 金額のラベルとエントリーの設定
frame1_3 = tk.Frame(tab1,pady=10)
frame1_3.pack()
label1_4 = tk.Label(frame1_3,font=("",14),text="金額")
label1_4.pack(side="left")
entry1_3 = tk.Entry(frame1_3,font=("",14),justify="center",width=15)
entry1_3.pack(side="left")
# 登録ボタンの設定
button1_4 = tk.Button(tab1,text="登録",font=("",14),width=5,bg="gray",command=create_sql)
button1_4.pack()
## タブ2
# 入力画面ラベルの設定
label2_1 = tk.Label(tab2,text="【表示画面】",font=("",16),height=2)
label2_1.pack(fill="x")
# フレーム2_1の作成
frame2_1 = tk.Frame(tab2, pady=10)
frame2_1.pack()
# リスト2_1の作成
listb2_1 = tk.Listbox(frame2_1, width=20, height=7)
listb2_1.pack()
# スクロール2_1の作成
scroll2_1 = tk.Scrollbar(frame2_1, orient = 'v', command = listb2_1.yview)
# スクロールの設定
listb2_1.configure(yscrollcommand = scroll2_1.set)
# gridで配置
listb2_1.grid(row = 1, column = 0, sticky = 'ns')
scroll2_1.grid(row = 1, column = 1, sticky = 'ns')
# メインループ
root.mainloop()
Reference
이 문제에 관하여(Python3 tkinter 탭 구현 [sample]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yusk24/items/3af56d0599be200559de텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)