Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- import tkinter as tk
- from tkinter import messagebox as ms
- import sqlite3
- # make database and users (if not exists already) table at programme start up
- with sqlite3.connect('quit.db') as db:
- c = db.cursor()
- c.execute('CREATE TABLE IF NOT EXISTS user (var TEXT NOT NULL, username TEXT NOT NULL PRIMARY KEY ,password TEXT NOT NULL );')
- db.commit()
- class main:
- def __init__(self, master):
- # Window
- self.master = master
- # Some Usefull variables
- self.var = tk.StringVar()
- self.username = StringVar()
- self.password = StringVar()
- self.n_username = StringVar()
- self.n_password = StringVar()
- # Create Widgets
- self.widgets()
- def test(self):
- if self.var.get() == "HQ":
- from validationcreate import undergo
- undergo(self)
- else:
- ms.showerror('Oops!', 'something is not right.')
- # Login Function
- def login(self):
- # Establish Connection
- with sqlite3.connect('quit.db') as db:
- c = db.cursor()
- # Find user If there is any take proper action
- find_user = ('SELECT * FROM user WHERE var = ? and username = ? and password = ?')
- c.execute(find_user, [(self.var.get()), (self.username.get()), (self.password.get())])
- result = c.fetchall()
- if result:
- self.logf.pack_forget()
- self.test()
- else:
- ms.showerror('Oops!', 'something is not right.')
- def new_user(self):
- # Establish Connection
- with sqlite3.connect('quit.db') as db:
- c = db.cursor()
- # Find Existing username if any take proper action
- find_user = ('SELECT * FROM user WHERE username = ?')
- c.execute(find_user, [(self.username.get())])
- if c.fetchall():
- ms.showerror('Error!', 'Username Taken Try a Diffrent One.')
- else:
- ms.showinfo('Success!', 'Account Created!')
- self.log()
- # Create New Account
- insert = 'INSERT INTO user(var,username,password) VALUES(?,?,?)'
- c.execute(insert, [(self.var.get()), (self.n_username.get()), (self.n_password.get())])
- db.commit()
- def dropbox(self, parent):
- OPTIONS = [
- "Please Select",
- "HQ",
- "Pilot",
- "Crew",
- "Customer"
- ]
- self.var.set(OPTIONS[0])
- return OptionMenu(parent, self.var, *OPTIONS)
- # Frame Packing Methords
- def log(self):
- self.username.set('')
- self.password.set('')
- self.crf.pack_forget()
- self.head['text'] = 'LOGIN'
- self.logf.pack()
- def cr(self):
- self.n_username.set('')
- self.n_password.set('')
- self.logf.pack_forget()
- self.head['text'] = 'Create Account'
- self.crf.pack()
- # Draw Widgets
- def widgets(self):
- self.head = Label(self.master, text='LOGIN', font=('', 35), pady=10)
- self.head.pack()
- self.logf = Frame(self.master, padx=10, pady=10)
- Label(self.logf, text='Select:', font=('', 20), pady=5, padx=5).grid(row=1, column=0)
- self.dropbox(self.logf).grid(row=1, column=1, sticky=W)
- Label(self.logf, text='Full Name: ', font=('', 20), pady=5, padx=5).grid(row=2, column=0)
- Entry(self.logf, textvariable=self.username, bd=5, font=('', 15)).grid(row=2, column=1)
- Label(self.logf, text='Password: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
- Entry(self.logf, textvariable=self.password, bd=5, font=('', 15), show='*').grid(row=3, column=1)
- Button(self.logf, text='Login', bd=3, font=('', 15), padx=5, pady=5, command=self.login).grid()
- Button(self.logf, text='Create Account', bd=3, font=('', 15), padx=5, pady=5, command=self.cr).grid(row=4, column=1)
- self.logf.pack()
- self.crf = Frame(self.master, padx=10, pady=10)
- Label(self.crf, text='Select:', font=('', 20), pady=5, padx=5).grid(row=1, column=0)
- self.dropbox(self.crf).grid(row=1, column=1, sticky=W)
- Label(self.crf, text='Full Name: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
- Entry(self.crf, textvariable=self.n_username, bd=5, font=('', 15)).grid(row=2, column=1)
- Label(self.crf, text='Password: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
- Entry(self.crf, textvariable=self.n_password, bd=5, font=('', 15), show='*').grid(row=3, column=1)
- Button(self.crf, text='Create Account', bd=3, font=('', 15), padx=5, pady=5, command=self.new_user).grid()
- Button(self.crf, text='Go to Login', bd=3, font=('', 15), padx=5, pady=5, command=self.log).grid(row=4, column=1)
- # create window and application object
- root = tk.Tk()
- # root.title("Login Form")
- main(root)
- root.mainloop()
- from tkinter import *
- import tkinter as tk
- from tkinter import ttk
- from tkinter import messagebox as ms
- import sqlite3
- def connect():
- with sqlite3.connect('aircraft.db') as db:
- c = db.cursor()
- c.execute('CREATE TABLE IF NOT EXISTS aircraft (aircraftreg TEXT NOT NULL, aircraftpilot TEXT NOT NULL, aircraftcrew TEXT NOT NULL, time INTERGER NOT NULL, PRIMARY KEY(aircraftpilot));')
- db.commit()
- class undergo:
- def __init__(self, master):
- self.master = master
- self.aircraftreg = StringVar()
- self.aircraftpilot = StringVar()
- self.aircraftcrew = StringVar()
- self.time = StringVar()
- self.widgets()
- def creatingflight(self):
- with sqlite3.connect('aircraft.db') as db:
- c = db.cursor()
- ms.showinfo('Success!', 'its saved!')
- self.mainpage()
- # Create New Account
- insert = 'INSERT INTO aircraft(aircraftreg, aircraftpilot, aircraftcrew, time) VALUES(?,?,?,?)'
- c.execute(insert, [(self.aircraftreg.get()), (self.aircraftpilot.get()), (self.aircraftcrew.get()), (self.time.get())])
- db.commit()
- def View(self):
- conn = sqlite3.connect("aircraft.db")
- cur = conn.cursor()
- cur.execute("SELECT * FROM aircraft")
- rows = cur.fetchall()
- for row in rows:
- print(row) # it print all records in the database
- self.tree.insert("", tk.END, values=row)
- conn.close()
- connect() # this to create the db#
- def Delete(self):
- conn = sqlite3.connect("aircraft.db")
- cur = conn.cursor()
- for selected_item in self.tree.selection():
- print(selected_item) # it prints the selected row id
- cur.execute("DELETE FROM aircraft WHERE aircraftpilot=?", (self.tree.set(selected_item, '#1'),))
- conn.commit()
- self.tree.delete(selected_item)
- conn.close()
- def viewing(self):
- self.mainpage1.pack_forget()
- self.head['text'] = 'view flight'
- self.viewing1.pack()
- def mainpage(self):
- self.mainpage1.pack()
- self.pagemain1.pack_forget()
- self.viewing1.pack_forget()
- def pagemain(self):
- self.aircraftreg.set('')
- self.aircraftpilot.set('')
- self.aircraftcrew.set('')
- self.time.set('')
- self.mainpage1.pack_forget()
- # self.viewing1.pack_forget()
- self.head['text'] = 'Make Flight'
- self.pagemain1.pack()
- def makingflight():
- pass
- def widgets(self):
- self.head = Label(self.master, text='HQ', font=('',35), pady=10)
- self.head.pack()
- self.mainpage1 = Frame(self.master, padx=100, pady=10)
- Button(self.mainpage1, text='Create Flight', bd=3, font=('', 15), padx=5, pady=5, command=self.pagemain).grid(row=3, column=3)
- Button(self.mainpage1, text='View Flights', bd=3, font=('', 15), padx=5, pady=5, command=self.viewing).grid(row=3, column=4)
- self.mainpage1.pack()
- self.pagemain1 = Frame(self.master, padx=10, pady=10)
- Label(self.pagemain1, text='Aircraft Reg', font=('', 20), pady=5, padx=5).grid(row=1, column=1)
- Entry(self.pagemain1, textvariable=self.aircraftreg, bd=5, font=('', 15)).grid(row=1, column=2)
- Label(self.pagemain1, text='Aircraft Pilot', font=('', 20), pady=5, padx=5).grid(row=2, column=1)
- Entry(self.pagemain1, textvariable=self.aircraftpilot, bd=5, font=('', 15)).grid(row=2, column=2)
- Label(self.pagemain1, text='Aircraft Crew Leader', font=('', 20), pady=5, padx=5).grid(row=3, column=1)
- Entry(self.pagemain1, textvariable=self.aircraftcrew, bd=5, font=('', 15)).grid(row=3, column=2)
- Label(self.pagemain1, text='Take off time examp(0800)', font=('', 20), pady=5, padx=5).grid(row=4, column=1)
- Entry(self.pagemain1, textvariable=self.time, bd=5, font=('', 15)).grid(row=4, column=2)
- Button(self.pagemain1, text='Create Flight', bd=3, font=('', 15), padx=5, pady=5, command=self.creatingflight).grid(row=5, column=1)
- Button(self.pagemain1, text='Home', bd=3, font=('', 15), padx=5, pady=5, command=self.mainpage).grid(row=5, column=2)
- self.pagemain1.pack_forget()
- self.viewing1 = Frame(self.master, padx=10, pady=10)
- self.tree = ttk.Treeview(self.viewing1, column=("column1", "column2", "column3", "column4"), show='headings')
- self.tree.heading("#1", text="Aircraft Reg")
- self.tree.heading("#2", text="Pilots Name")
- self.tree.heading("#3", text="Lead Crew")
- self.tree.heading("#4", text="Take off Time")
- self.tree.pack()
- b3 = tk.Button(self.viewing1, text="DELETE", command=self.Delete)
- b3.pack(side=tk.BOTTOM)
- b2 = tk.Button(self.viewing1, text="view data", command=self.View)
- b2.pack()
- connect()
- root = tk.Tk()
- undergo(root)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement