Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #GUI
- from tkinter import *
- from tkinter.messagebox import showinfo
- import methodsFile
- import datetime
- from PIL import Image, ImageTk
- huidigeTijd = (str(datetime.datetime.now()).split(' ')[1]).split(':')[0], ':', \
- (str(datetime.datetime.now()).split(' ')[1]).split(':')[1]
- unicode = ''
- naamUser = ''
- def login():
- username = usernamefield.get()
- password = passwordfield.get()
- global unicode
- unicode = username
- ingelogd = methodsFile.logineenmalig(username, password)
- if ingelogd == False:
- showinfo(title="Error", message="Onjuiste gegevens. Probeer het nog eens")
- else:
- showinfo(title="Ingelogd", message="Succesvol ingelogd.")
- tooningelogdframe()
- def register():
- voornaam = voornaamfield.get()
- tussenvoegsel = tussenvoegselfield.get()
- achternaam = achternaamfield.get()
- wachtwoord = wachtwoordfield.get()
- uniekeCode = methodsFile.registreren(voornaam, tussenvoegsel, achternaam, wachtwoord)
- if uniekeCode == "":
- showinfo(title="Error", message="Vul een geldig wachtwoord in (langer dan 6 karakters met 2 of meer getallen")
- else:
- uniekeCode = ('Unieke code: ' + uniekeCode)
- showinfo(title="Geregistreerd", message=uniekeCode)
- toonloginframe()
- def openStalling():
- methodsFile.openStalling(unicode)
- showinfo(title="Open", message="Fiets kan worden gestald.")
- def fietsOphalen():
- methodsFile.fietsOphalen()
- showinfo(title="Open", message="Fiets kan worden opgehaald.")
- def persoonlijkeinfo():
- methodsFile.persoonlijkeInformatie()
- def toonregisterframe():
- loginframe.grid_forget()
- registerframe.grid()
- voornaamfield.delete(0, END)
- tussenvoegselfield.delete(0, END)
- achternaamfield.delete(0, END)
- wachtwoordfield.delete(0, END)
- def toonloginframe():
- registerframe.grid_forget()
- loginframe.grid()
- usernamefield.delete(0, END)
- passwordfield.delete(0, END)
- def tooningelogdframe():
- with open('Gebruikersbestand.csv', 'r') as CSV:
- for o in CSV.readlines():
- if unicode == o.split(';')[0]:
- global naamUser
- naamUser = o.split(';')[1]
- break
- CSV.close()
- loginframe.grid_forget()
- labelBericht = Label(master=ingelogdframe, text=('Welkom, ' + naamUser))
- labelBericht.grid(row=1, column=2)
- ingelogdframe.grid()
- def logout():
- ingelogdframe.grid_forget()
- loginframe.grid()
- usernamefield.delete(0, END)
- passwordfield.delete(0, END)
- root = Tk()
- tijdLabel = Label(root, text=huidigeTijd, height=2)
- tijdLabel.grid(row=0, column=0)
- loginframe = Frame(root)
- loginframe.grid()
- labelUsername = Label(loginframe, text="Gebruikersnaam: ")
- labelUsername.grid(row=1, column=0, sticky="EW")
- labelPassword = Label(loginframe, text="Wachtwoord: ")
- labelPassword.grid(row=2, column=0, sticky="EW")
- usernamefield = Entry(loginframe)
- usernamefield.grid(row=1, column=1, sticky="EW")
- passwordfield = Entry(loginframe)
- passwordfield.grid(row=2, column=1, sticky="EW")
- buttonLogin = Button(loginframe, text="Inloggen", command=login)
- buttonLogin.grid(row=3, column=0, sticky="EW")
- buttonRegister = Button(loginframe, text="Registreren", command=toonregisterframe)
- buttonRegister.grid(row=3, column=1, sticky="EW")
- registerframe = Frame(master=root)
- labelVoornaam = Label(registerframe, text="Voornaam: ")
- labelVoornaam.grid(row=1, column=0, sticky="EW")
- labelTussenvoegsel = Label(registerframe, text="Tussenvoegsel: ")
- labelTussenvoegsel.grid(row=2, column=0, sticky="EW")
- labelAchternaam = Label(registerframe, text="Achternaam: ")
- labelAchternaam.grid(row=3, column=0, sticky="EW")
- labelWachtwoord = Label(registerframe, text="Wachtwoord: ")
- labelWachtwoord.grid(row=4, column=0, sticky="EW")
- voornaamfield = Entry(registerframe)
- voornaamfield.grid(row=1, column=1, sticky="EW")
- tussenvoegselfield = Entry(registerframe)
- tussenvoegselfield.grid(row=2, column=1, sticky="EW")
- achternaamfield = Entry(registerframe)
- achternaamfield.grid(row=3, column=1, sticky="EW")
- wachtwoordfield = Entry(registerframe)
- wachtwoordfield.grid(row=4, column=1, sticky="EW")
- buttonRegistreren = Button(registerframe, text="Registreren", command=register)
- buttonRegistreren.grid(row=5, column=0, sticky="EW")
- buttonTerug = Button(registerframe, text="Terug", command=toonloginframe)
- buttonTerug.grid(row=5, column=1, sticky="EW")
- ingelogdframe = Frame(master=root)
- buttonUitloggen = Button(master=ingelogdframe, text="Uitloggen", command=logout)
- buttonUitloggen.grid(row=1, column=1, sticky="EW")
- buttonOpenStalling = Button(master=ingelogdframe, text="Open stalling", command=openStalling)
- buttonOpenStalling.grid(row=1, column=2, sticky="EW")
- buttonFietsOphalen = Button(master=ingelogdframe, text="Fiets ophalen", command=fietsOphalen)
- buttonFietsOphalen.grid(row=1, column=3, sticky="EW")
- buttonPersoonlijkeInfo = Button(master=ingelogdframe, text="Persoonlijke informatie", command=persoonlijkeinfo)
- buttonPersoonlijkeInfo.grid(row=1, column=4, sticky="EW")
- root.columnconfigure(0, weight=1)
- root.rowconfigure(0, weight=0) # not needed, this is the default behavior
- root.rowconfigure(1, weight=1)
- root.rowconfigure(2, weight=1)
- root.rowconfigure(3, weight=1)
- root.rowconfigure(4, weight=1)
- root.mainloop()
- # probeer captcha in GUI te krijgen
- from tkinter import *
- from tkinter.messagebox import showinfo
- from PIL import ImageTk, Image
- import captchaprogram
- def correcteCaptcha():
- captchavalue = captchaInput.get()
- if captchavalue == captchaprogram.createCaptcha():
- showinfo(title="Ingelogd", message="Succesvol ingelogd.")
- else:
- showinfo(title="Error", message="Captcha incorrect")
- root = Tk()
- captchaText = Label(text='Vul de CAPTCHA in:')
- captchaText.grid(row=0, column= 1)
- img = ImageTk.PhotoImage(Image.open("pil_text_font.png"))
- captchaPlaatje = Label(root, image = img)
- captchaPlaatje.grid(row=1, column=1)
- captchaInput = Entry(root)
- captchaInput.grid(row=2, column=1, sticky="EW")
- inputButton = Button(root, text="OK", command=correcteCaptcha)
- inputButton.grid(row=2, column=2, sticky="EW")
- root.mainloop()
- # captcha programma zelf
- from PIL import Image, ImageDraw
- import random
- import string
- def createCaptcha():
- img = Image.new('RGB', (100, 30), color=(73, 109, 137))
- captchaText = ''
- captchaText = captchaText.join(
- random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(6))
- captchaKleur = random.sample(range(258), 3)
- captchaPositieX = random.randrange(0, 65)
- captchaPositieY = random.randrange(0, 20)
- captchaPositie = (captchaPositieX, captchaPositieY)
- d = ImageDraw.Draw(img)
- d.text(tuple(captchaPositie), captchaText, fill=tuple(captchaKleur))
- img.save('pil_text_font.png')
- return captchaText
- print(createCaptcha())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement