Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- import tkinter as Tk
- from tkinter import ttk
- import pymysql
- from tkinter import filedialog
- from PIL import ImageTk, Image
- from shutil import copyfile
- class myApp():
- def __init__(self, main):
- self.root = main
- self.root.title=("PC REGISTER")
- self.root.pack_propagate(False)
- self.root.config(width=400, height=400)
- self.insideFrame = Tk.Frame(main)
- self.insideFrame.pack()
- self.topframe = Tk.Frame(main)
- self.topframe.pack()
- menubar = Menu(self.topframe)
- # create a pulldown menu, and add it to the menu bar
- filemenu = Menu(menubar, tearoff=0)
- filemenu.add_command(label="Open", command=self.openFrame)
- filemenu.add_command(label="Show", command=self.Home)
- filemenu.add_command(label="Search", )
- filemenu.add_command(label="Delete",)
- filemenu.add_separator()
- filemenu.add_command(label="Exit", command=main.quit)
- menubar.add_cascade(label="Menu", menu=filemenu, )
- main.configure(menu=menubar)
- def openFrame(self):
- Frame1(self.insideFrame)
- def Home(self):
- Frame2(self.insideFrame)
- class Frame1():
- db = pymysql.connect(host="localhost", user="root", password="", db="online")
- def __init__(self, original):
- self.frame1 = original
- for widget in self.frame1.winfo_children():
- widget.destroy()
- self.db = pymysql.connect(host="localhost", user="root", password="", db="online")
- self.name = Tk.Label(self.frame1, text="Name : ")
- self.name.grid(row=0, column=0, sticky=Tk.E)
- self.uplode = Tk.Label(self.frame1, text="Upload: ")
- self.uplode.grid(row=1, column=0, sticky=E)
- self.ButtonCall = ttk.Button(self.frame1, text="Upload", width=10, command=self.file)
- self.ButtonCall.grid(row=1, column=1,sticky=E)
- self.price = Tk.Label(self.frame1, text="Price: ")
- self.price.grid(row=2, column=0, stick=Tk.E)
- self.info = Tk.Label(self.frame1, text="Information: ")
- self.info.grid(row=3, column=0, stick=Tk.E)
- self.entryName = Tk.Entry(self.frame1, )
- self.entryName.grid(row=0, column=1, pady=10, )
- self.entryPrice = Tk.Entry(self.frame1, )
- self.entryPrice.grid(row=2, column=1, pady=10, )
- self.entryInfo = Tk.Entry(self.frame1, )
- self.entryInfo.grid(row=3, column=1, pady=10, )
- self.ButtonCancel = Tk.Button(self.frame1, text="Stäng", width=10, bg="red1", fg="white",
- command=self.onClose)
- self.ButtonCancel.grid(row=4, column=1, pady=10, sticky=S)
- self.ButtonSave = Tk.Button(self.frame1, text="Save", width=10, bg="green", fg="white", command=self.save)
- self.ButtonSave.grid(row=4, column=0, pady=10, sticky=S)
- def file(self):
- self.filename = filedialog.asksaveasfilename(initialdir="/", title="Select file",
- filetypes=(("jpeg files", "*.jpg"), ("all files", "*.*")))
- copyfile(self.filename, "image/" + self.filename.split("/")[-1])
- def onClose(self):
- for widget in self.frame1.winfo_children():
- widget.destroy()
- def save(self):
- with self.db.cursor() as cursor:
- sql = "INSERT INTO ontbl( name, image, price, info) VALUES ('{}', '{}', '{}', '{}')".format(self.entryName.get(),(self.filename.split("/")[-1]), str(self.entryPrice.get()),self.entryInfo.get())
- cursor.execute(sql)
- self.db.commit()
- self.entryName.delete(0, Tk.END)
- self.entryPrice.delete(0, Tk.END)
- self.entryInfo.delete(0, Tk.END)
- for widget in self.frame1.winfo_children():
- widget.destroy()
- class Frame2:
- def __init__(self, frame2):
- self.frame2 = frame2
- for widget in self.frame2.winfo_children():
- widget.destroy()
- self.db = pymysql.connect(host="localhost", user="root", password="", db="online")
- sql = "SELECT * FROM ontbl"
- cursor = self.db.cursor()
- cursor.execute(sql)
- result = cursor.fetchall()
- '''varShow = "ID".ljust(15) + "NAME".ljust(20) + "IMAGE".ljust(10) + "PRICE".ljust(20) + "INFO".ljust(
- 20) + "\n"
- for p in result:
- varShow += p[0].ljust(15) + p[1].ljust(20) + p[2].ljust(10) + p[3].ljust(
- 20) + p[4].ljust(20) + "\n"
- self.height = 20
- self.LabelShowAll = Tk.Label(self.frame2, width=60, height=self.height,text=varShow,)
- self.LabelShowAll.grid(sticky=E)
- self.LabelShowAll.config(bg="deep sky blue", )
- self.btn = Tk.Button(self.frame2, text="Stang", width=10, bg="red", fg="white", command=self.onClose)
- self.btn.grid(pady=10)'''
- self.img = ""
- scrollbar = Scrollbar(self.frame2, orient=VERTICAL)
- # HJÄLP!!!! Kolla upp create_window()
- self.Canvas = Canvas(self.frame2, yscrollcommand=scrollbar.set)
- scrollbar.config(command=self.Canvas.yview)
- scrollbar.pack(side=RIGHT, fill=Y)
- self.Canvas.config(width=200, height=100)
- self.Canvas.pack()
- self.Canvas.pack_propagate(False)
- for p in result:
- image = Image.open("image/" + p[2])
- image = image.resize((300, 200), Image.ANTIALIAS)
- self.img = ImageTk.PhotoImage(image)
- label = Label(self.Canvas, image=self.img)
- label.image = self.img # keep a reference!
- label.pack()
- def onClose(self):
- for widget in self.frame2.winfo_children():
- widget.destroy()
- if __name__ == '__main__':
- root = Tk.Tk()
- app = myApp(root)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement