Advertisement
Guest User

Untitled

a guest
May 7th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.78 KB | None | 0 0
  1. from tkinter import *
  2. import tkinter as  Tk
  3. from tkinter import ttk
  4. import pymysql
  5. from tkinter import filedialog
  6. from PIL import ImageTk, Image
  7. from shutil import copyfile
  8.  
  9. class myApp():
  10.     def __init__(self, main):
  11.         self.root = main
  12.         self.root.title=("PC REGISTER")
  13.         self.root.pack_propagate(False)
  14.         self.root.config(width=400, height=400)
  15.         self.insideFrame = Tk.Frame(main)
  16.         self.insideFrame.pack()
  17.         self.topframe = Tk.Frame(main)
  18.         self.topframe.pack()
  19.         menubar = Menu(self.topframe)
  20.         # create a pulldown menu, and add it to the menu bar
  21.         filemenu = Menu(menubar, tearoff=0)
  22.         filemenu.add_command(label="Open", command=self.openFrame)
  23.         filemenu.add_command(label="Show", command=self.Home)
  24.         filemenu.add_command(label="Search", )
  25.         filemenu.add_command(label="Delete",)
  26.         filemenu.add_separator()
  27.         filemenu.add_command(label="Exit", command=main.quit)
  28.         menubar.add_cascade(label="Menu", menu=filemenu, )
  29.         main.configure(menu=menubar)
  30.  
  31.     def openFrame(self):
  32.         Frame1(self.insideFrame)
  33.  
  34.     def Home(self):
  35.         Frame2(self.insideFrame)
  36.  
  37. class Frame1():
  38.     db = pymysql.connect(host="localhost", user="root", password="", db="online")
  39.  
  40.     def __init__(self, original):
  41.         self.frame1 = original
  42.         for widget in self.frame1.winfo_children():
  43.             widget.destroy()
  44.         self.db = pymysql.connect(host="localhost", user="root", password="", db="online")
  45.  
  46.         self.name = Tk.Label(self.frame1, text="Name : ")
  47.         self.name.grid(row=0, column=0, sticky=Tk.E)
  48.  
  49.         self.uplode = Tk.Label(self.frame1, text="Upload: ")
  50.         self.uplode.grid(row=1, column=0, sticky=E)
  51.  
  52.         self.ButtonCall = ttk.Button(self.frame1, text="Upload", width=10, command=self.file)
  53.         self.ButtonCall.grid(row=1, column=1,sticky=E)
  54.  
  55.         self.price = Tk.Label(self.frame1, text="Price: ")
  56.         self.price.grid(row=2, column=0, stick=Tk.E)
  57.  
  58.         self.info = Tk.Label(self.frame1, text="Information: ")
  59.         self.info.grid(row=3, column=0, stick=Tk.E)
  60.  
  61.         self.entryName = Tk.Entry(self.frame1, )
  62.         self.entryName.grid(row=0, column=1, pady=10, )
  63.  
  64.         self.entryPrice = Tk.Entry(self.frame1, )
  65.         self.entryPrice.grid(row=2, column=1, pady=10, )
  66.  
  67.         self.entryInfo = Tk.Entry(self.frame1, )
  68.         self.entryInfo.grid(row=3, column=1, pady=10, )
  69.  
  70.         self.ButtonCancel = Tk.Button(self.frame1, text="Stäng", width=10, bg="red1", fg="white",
  71.                                       command=self.onClose)
  72.         self.ButtonCancel.grid(row=4, column=1, pady=10, sticky=S)
  73.         self.ButtonSave = Tk.Button(self.frame1, text="Save", width=10, bg="green", fg="white", command=self.save)
  74.         self.ButtonSave.grid(row=4, column=0, pady=10, sticky=S)
  75.  
  76.     def file(self):
  77.         self.filename = filedialog.asksaveasfilename(initialdir="/", title="Select file",
  78.                                                      filetypes=(("jpeg files", "*.jpg"), ("all files", "*.*")))
  79.  
  80.         copyfile(self.filename, "image/" + self.filename.split("/")[-1])
  81.  
  82.     def onClose(self):
  83.         for widget in self.frame1.winfo_children():
  84.             widget.destroy()
  85.  
  86.     def save(self):
  87.  
  88.         with self.db.cursor() as cursor:
  89.             sql = "INSERT INTO ontbl( name, image, price, info) VALUES ('{}', '{}', '{}', '{}')".format(self.entryName.get(),(self.filename.split("/")[-1]), str(self.entryPrice.get()),self.entryInfo.get())
  90.  
  91.             cursor.execute(sql)
  92.             self.db.commit()
  93.  
  94.         self.entryName.delete(0, Tk.END)
  95.         self.entryPrice.delete(0, Tk.END)
  96.         self.entryInfo.delete(0, Tk.END)
  97.         for widget in self.frame1.winfo_children():
  98.             widget.destroy()
  99. class Frame2:
  100.     def __init__(self, frame2):
  101.         self.frame2 = frame2
  102.         for widget in self.frame2.winfo_children():
  103.             widget.destroy()
  104.         self.db = pymysql.connect(host="localhost", user="root", password="", db="online")
  105.  
  106.         sql = "SELECT * FROM ontbl"
  107.  
  108.         cursor = self.db.cursor()
  109.         cursor.execute(sql)
  110.         result = cursor.fetchall()
  111.  
  112.         '''varShow = "ID".ljust(15) + "NAME".ljust(20) + "IMAGE".ljust(10) + "PRICE".ljust(20) + "INFO".ljust(
  113.            20) + "\n"
  114.        for p in result:
  115.            varShow += p[0].ljust(15) + p[1].ljust(20) +  p[2].ljust(10) +  p[3].ljust(
  116.                20) +  p[4].ljust(20) +  "\n"
  117.  
  118.        self.height = 20
  119.        self.LabelShowAll = Tk.Label(self.frame2, width=60, height=self.height,text=varShow,)
  120.        self.LabelShowAll.grid(sticky=E)
  121.        self.LabelShowAll.config(bg="deep sky blue", )
  122.        self.btn = Tk.Button(self.frame2, text="Stang", width=10, bg="red", fg="white", command=self.onClose)
  123.        self.btn.grid(pady=10)'''
  124.         self.img = ""
  125.         scrollbar = Scrollbar(self.frame2, orient=VERTICAL)
  126.  
  127.         # HJÄLP!!!! Kolla upp create_window()
  128.         self.Canvas = Canvas(self.frame2, yscrollcommand=scrollbar.set)
  129.         scrollbar.config(command=self.Canvas.yview)
  130.         scrollbar.pack(side=RIGHT, fill=Y)
  131.         self.Canvas.config(width=200, height=100)
  132.         self.Canvas.pack()
  133.         self.Canvas.pack_propagate(False)
  134.         for p in result:
  135.  
  136.             image = Image.open("image/" + p[2])
  137.             image = image.resize((300, 200), Image.ANTIALIAS)
  138.             self.img = ImageTk.PhotoImage(image)
  139.             label = Label(self.Canvas, image=self.img)
  140.             label.image = self.img  # keep a reference!
  141.             label.pack()
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.     def onClose(self):
  155.         for widget in self.frame2.winfo_children():
  156.             widget.destroy()
  157.  
  158. if __name__ == '__main__':
  159.     root = Tk.Tk()
  160.     app = myApp(root)
  161.     root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement