def providerscreen(): window.destroy() rommel.destroy() provscreen = tk.Tk() provscreen.geometry("310x300") provscreen.title("Chill-Flix") provscreen.wm_iconbitmap("favicon.ico") # de logo van het programma provscreen.configure(background=background) button = {} TB.schrijf_xml(TB.response) TB.films_dict = TB.verwerk_xml() filmnamen = TB.print_filmnamen(TB.films_dict) # filmnamen geeft alle huidige films in list print(filmnamen) # print de list met alle filmnamen rij = 0 for i in filmnamen: # http://stackoverflow.com/questions/7300041/tkinter-create-labels-and-entrys-dynamically lb = tk.Button(provscreen, text=i, bg=background, fg=textkleur, activeforeground=activeforegroundbutton, activebackground=activebackgroundbutton, width=len(max(filmnamen, key=len)), command=lambda piet=i: huurdersfilm(piet)) button[i] = lb # button[i].grid(row=rij, column=0) # for i in filmnamen: button[i].pack() rij += 1 provscreen.mainloop()
def providerfilms(providernaam): """ returnt een lijst met alle films die een gebruiker in bezit heeft de doctest werkt alleen op 30-10-2015 omdat de uitslagen afhankelijk zijn van de datum >>> providerfilms("RTL8") ['Penthouse North', 'Black Forest'] >>> providerfilms("SBS9") ['Observe and Report', 'Beerfest'] >>> providerfilms("BBC1") ['Hollywood Homicide'] >>> providerfilms("FOX") ['The Frighteners'] >>> providerfilms("CANVAS") [] """ TB.schrijf_xml(TB.response) TB.films_dict = TB.verwerk_xml() global filmnamen filmnamen = TB.print_filmnamen(TB.films_dict) list = [] filmnamenlijst = [] nummer = 0 for i in filmnamen["provider"]: if i == providernaam: # print(nummer) list.append(nummer) nummer += 1 for provider in list: # print(filmnamen["titel"][provider]) filmnamenlijst.append(filmnamen["titel"][provider]) # print(filmnamen["provider"]) return filmnamenlijst
def filmscreen(): """ Laat alle films zien d.m.v. dynamic buttons, hier kan je naar de site gaan of een film huren """ afmeting = correctwindowsize(2) global filmwindow filmwindow = tkinter.Tk() filmwindow.geometry(afmeting) filmwindow.title("Chill-Flix") # http://stackoverflow.com/questions/2395431/using-tkinter-in-python-to-edit-the-title-bar filmwindow.wm_iconbitmap("favicon.ico") # de logo van het programma filmwindow.configure(background=background) button = {} buttonkopen = {} TB.schrijf_xml(TB.response) TB.films_dict = TB.verwerk_xml() global filmnamen filmnamen = TB.print_filmnamen(TB.films_dict) # filmnamen geeft alle huidige films weer in een list rij = 0 for i in filmnamen["titel"]: # http://stackoverflow.com/questions/7300041/tkinter-create-labels-and-entrys-dynamically lb = tk.Button(filmwindow, text=(i + " (bekijk inhoud)"), bg=background, activeforeground=activeforegroundbutton, activebackground=activebackgroundbutton, fg=textkleur, width=17 + len(max(filmnamen["titel"], key=len)), command=lambda piet=i: filmdescription(piet)) # http://www.tutorialspoint.com/python/tk_button.htm voor de button arguments button[i] = lb button[i].grid(row=rij, column=0) lb2 = tk.Button(filmwindow, text=(i + " Huren"), bg=background, activeforeground=activeforegroundbutton, activebackground=activebackgroundbutton, fg=textkleur, width=7 + len(max(filmnamen["titel"], key=len)), command=lambda piet=i: filmhuren(piet)) buttonkopen[i] = lb2 # http://stackoverflow.com/questions/11504571/clickable-tkinter-labels buttonkopen[i].grid(row=rij, column=1) # voor de dynamische button breedte: http://stackoverflow.com/questions/873327/pythons-most-efficient-way-to-choose-longest-string-in-list # TODO: een goede layout op het scherm krijgen (met .grid werkt column argument niet?) rij += 1 bgoback = tk.Button(filmwindow, text="Go Back", command=lambda: goback(3), bg=background, fg=textkleur, activebackground=activebackgroundbutton, activeforeground=activeforegroundbutton) bgoback.grid(row=(rij + 1), column=0) bfilmkijken = tk.Button(filmwindow, text="Film kijken", command=lambda: filmkijken(), bg=background, fg=textkleur, activebackground=activebackgroundbutton, activeforeground=activeforegroundbutton) bfilmkijken.grid(row=(rij+1), column=1) filmwindow.mainloop()
def filmscreen(): filmwindow = tkinter.Tk() filmwindow.geometry("300x500") filmwindow.title("Chill-Flix") filmwindow.wm_iconbitmap("favicon.ico") # het logo van het programma filmwindow.configure(background=background) # names = ["kees", "philippe", "dylan"] button = {} buttonkopen = {} TB.schrijf_xml(TB.response) TB.films_dict = TB.verwerk_xml() filmnamen = TB.print_filmnamen(TB.films_dict) # filmnamen geeft alle huidige films in list print(filmnamen) # print de list met alle filmnamen rij = 0 for i in filmnamen: # http://stackoverflow.com/questions/7300041/tkinter-create-labels-and-entrys-dynamically lb = tk.Button(filmwindow, text=i + " (bekijk inhoud)", bg=background, activeforeground=activeforegroundbutton, activebackground=activebackgroundbutton, fg=textkleur, width=17 + len(max(filmnamen, key=len)), command=lambda piet=i: filmdescription(piet)) button[i] = lb # label[i].bind("<Button-1>",command=(lambda filmdescription("a"))) # http://stackoverflow.com/questions/11504571/clickable-tkinter-labels # button[i].grid(row=rij, column=0) lb2 = tk.Button(filmwindow, text=i + " Huren", bg=background, activeforeground=activeforegroundbutton, activebackground=activebackgroundbutton, fg=textkleur, width=7 + len(max(filmnamen, key=len)), command=lambda piet=i: filmdescription(piet)) buttonkopen[i] = lb2 # http://stackoverflow.com/questions/11504571/clickable-tkinter-labels # button[i].grid(row=rij, column=1) # voor de dynamische button breedte: http://stackoverflow.com/questions/873327/pythons-most-efficient-way-to-choose-longest-string-in-list # for i in filmnamen: buttonkopen[i].pack() # TODO: een goede layout op het scherm krijgen (met .grid werkt column argument niet?) button[i].pack() rij += 1 filmwindow.mainloop()
def providerscreen(): """ In dit scherm krijgen de providers de films te zien die zij zelf aanvoeren, als ze op een film drukken kunnen ze de huurders zien """ window.destroy() rommel.destroy() TB.schrijf_xml(TB.response) TB.films_dict = TB.verwerk_xml() filmnamen = TB.print_filmnamen(TB.films_dict) # filmnamen geeft alle huidige films in list afmeting = correctwindowsize(1) # print(filmnamen) # print de dictionaries met alle filmnamen global provscreen provscreen = tk.Tk() provscreen.geometry(afmeting) provscreen.title("Chill-Flix") provscreen.wm_iconbitmap("favicon.ico") # de logo van het programma provscreen.configure(background=background) button = {} rij = 0 providernaam = TB.gebruiker for i in providerfilms(providernaam): # http://stackoverflow.com/questions/7300041/tkinter-create-labels-and-entrys-dynamically lb = tk.Button(provscreen, text=i, bg=background, fg=textkleur, activeforeground=activeforegroundbutton, activebackground=activebackgroundbutton, width=len(max(providerfilms(providernaam), key=len)), command=lambda piet=i: huurdersfilm(piet)) button[i] = lb # button[i].grid(row=rij, column=0) # for i in filmnamen: button[i].pack() rij += 1 bgoback = tk.Button(provscreen, text="Go Back", command=lambda: goback(4), bg=background, fg=textkleur, activeforeground=activeforegroundbutton, activebackground=activebackgroundbutton) bgoback.pack(side="left") provscreen.mainloop()
def correctwindowsize(input): """ Returnt een window size gebaseerd op berekeningen ivm grote van elementen """ TB.schrijf_xml(TB.response) TB.films_dict = TB.verwerk_xml() filmnamen = TB.print_filmnamen(TB.films_dict) # filmnamen geeft alle huidige films in list aantal = 0 for i in filmnamen['titel']: aantal = aantal + 1 if input == 1: lengte = len(providerfilms(TB.gebruiker)) afmeting = ("310x"+str(40+26*lengte)) # 26 = approx 1 button, 40 = extra voor go back button elif input == 2: afmeting = ("600x"+str(40+26*aantal)) # 26 = approx 1 button, 40 = extra voor go back button elif input == 3: TB.aanbiederInfo(mijnfilm) if TB.aantalgebruikers < 30: afmeting = ("310x"+str(22*(TB.aantalgebruikers+3))) # 26 = approx 1 button, 40 = extra voor go back button else: afmeting = ("310x1000") else: afmeting = ("310x300") # default afmeting return afmeting
import Thuisbioscoop as TB TB.schrijf_xml(TB.response) # TB.films_dict = TB.verwerk_xml() global filmnamen filmnamen = TB.print_filmnamen(TB.films_dict) naam = "RTL8" list = [] filmnamenlijst = [] nummer = 0 for i in filmnamen["provider"]: if i == naam: print(nummer) list.append(nummer) nummer += 1 for provider in list: print(filmnamen["titel"][provider]) filmnamenlijst.append(filmnamen["titel"][provider]) print(filmnamen["provider"]) return filmnamenlijst