前提・実現したいこと
pythonで図書管理システムというGUIアプリを制作したいです。
見た目はできているのですが、ボタンを押したらこーなるなどという紐づけができないです。助けてほしいです!
したいのが、
1、一覧表示の中は、追加で決定を押した情報を追加していく。
2、貸し出し中は、一覧表示の中にあるもののIDを貸し出しに入力、一覧表示から貸し出し中に移動。
3、更新は、一覧表示と貸し出し中を更新する。
4、検索は、IDを入力すると一覧表示や貸し出し中の中から該当するものが一番上にくる。
5、貸し出しは、2の通り。
6、返却は、2の逆で貸し出し中のなかにあるもののIDを入力すると貸し出し中から一覧表示に移動する。
7、追加は、1の通り。
8、削除は、1の逆で一覧表示の中にあるもののIDを入力すると情報が削除される。
宜しくお願いします!!!!!
python
1import tkinter as tk 2import tkinter.ttk as ttk 3from tkinter import messagebox 4 5class Application(tk.Frame): 6 def __init__(self, master): 7 super().__init__(master) 8 self.pack() 9 10 self.master = master 11 12 master.geometry("500x535") 13 master.title("図書管理システム") 14 self.create_widgets() 15 16 col_name = ("id","title","author") 17 self.tree_view.configure(columns=col_name) 18 self.tree_view.heading(col_name[0], text="ID") 19 self.tree_view.heading(col_name[1], text="タイトル") 20 self.tree_view.heading(col_name[2], text="著者") 21 self.tree_view.column(col_name[0],width=80) 22 self.tree_view.column(col_name[1],width=200) 23 self.tree_view.column(col_name[2],width=100) 24 25 self.tree_view2.configure(columns=col_name) 26 self.tree_view2.heading(col_name[0], text="ID") 27 self.tree_view2.heading(col_name[1], text="タイトル") 28 self.tree_view2.heading(col_name[2], text="著者") 29 self.tree_view2.column(col_name[0],width=80) 30 self.tree_view2.column(col_name[1],width=200) 31 self.tree_view2.column(col_name[2],width=100) 32 33 def create_widgets(self): 34 self.label6 = tk.Label(self, text="一覧表示") 35 self.label6.grid(columnspan=2, row=0, column=0) 36 self.tree_view = ttk.Treeview(self, show="headings", height=5) 37 self.tree_view.grid(columnspan=2, row=1, column=0) 38 39 self.label7 = tk.Label(self, text="貸し出し中") 40 self.label7.grid(columnspan=2, row=2, column=0) 41 self.tree_view2 = ttk.Treeview(self, show="headings", height=3) 42 self.tree_view2.grid(columnspan=2, row=3, column=0) 43 44 self.button6 = tk.Button(self, text="更新") 45 self.button6.grid(columnspan=2, row=4, column=0) 46 47 self.label1 = tk.Label(self, text="検索") 48 self.label1.grid(columnspan=2, row=5, column=0) 49 self.entry1 = tk.Entry(self, width=15) 50 self.entry1.grid(columnspan=2, row=6, column=0) 51 self.button1 = tk.Button(self, text="決定", command=lambda:self.button_click1()) 52 self.button1.grid(columnspan=2, row=7, column=0) 53 54 self.label2 = tk.Label(self, text="貸し出し") 55 self.label2.grid(row=8,column=0) 56 self.entry2 = tk.Entry(self, width=15) 57 self.entry2.grid(row=9,column=0) 58 self.button2 = tk.Button(self, text="決定", command=lambda:self.button_click2()) 59 self.button2.grid(row=10,column=0) 60 61 self.label3 = tk.Label(self, text="返却") 62 self.label3.grid(row=8,column=1) 63 self.entry3 = tk.Entry(self, width=15) 64 self.entry3.grid(row=9,column=1) 65 self.button3 = tk.Button(self, text="決定", command=lambda:self.button_click3()) 66 self.button3.grid(row=10,column=1) 67 68 self.label4 = tk.Label(self, text="追加") 69 self.label4.grid(row=11,column=0) 70 self.id = tk.Label(self, text="ID:") 71 self.title = tk.Label(self, text="タイトル:") 72 self.author = tk.Label(self, text="著者:") 73 self.id.grid(row=12,column=0,sticky=tk.W) 74 self.title.grid(row=13,column=0,sticky=tk.W) 75 self.author.grid(row=14,column=0,sticky=tk.W) 76 self.i_entry = tk.Entry(self, width=18) 77 self.t_entry = tk.Entry(self, width=18) 78 self.a_entry = tk.Entry(self, width=18) 79 self.i_entry.grid(row=12,column=0,sticky=tk.S) 80 self.t_entry.grid(row=13,column=0,sticky=tk.S) 81 self.a_entry.grid(row=14,column=0,sticky=tk.S) 82 self.button4 = tk.Button(self, text="決定", command=lambda:self.button_click4()) 83 self.button4.grid(row=15,column=0) 84 85 self.label5 = tk.Label(self, text="削除") 86 self.label5.grid(row=11,column=1) 87 self.entry5 = tk.Entry(self, width=15) 88 self.entry5.grid(row=12,column=1) 89 self.button5 = tk.Button(self, text="決定", command=lambda:self.button_click5()) 90 self.button5.grid(row=13,column=1) 91 92if __name__ == "__main__": 93 root = tk.Tk() 94 Application(master=root) 95 root.mainloop() 96
あなたの回答
tips
プレビュー