from tkinter import * from tkinter import ttk from tkinter import messagebox from tkinter import filedialog from PIL import ImageTk, Image import os ########### #VARIBALES# ########### colorBackgroundRoot="#06283D" ######## #WINDOW# ######## root = Tk() root.title("Icons and images") root.attributes('-type', 'dialog')#https://stackoverflow.com/questions/35830851/how-to-make-tkinter-window-floating-in-i3-windowmanager root.geometry("1000x1000") root.config(bg=colorBackgroundRoot) im = Image.open('/home/key/Documents/tkinter/icons/rocket-64x64.png') photo = ImageTk.PhotoImage(im) root.wm_iconphoto(True, photo) ############# #DEFINITIONS# ############# pizza = StringVar() pizza.set(0) RADIO = [ ("Pepperoni","Pepperoni"), ("Cheese","Cheese"), ("Mushroom","Mushroom"), ("Onion","Onion"), ] ################ #IMAGES & ICONS# ################ global myImage myImage = ImageTk.PhotoImage(Image.open("/home/key/Documents/tkinter/icons/rocket-64x64.png")) ########### #FUNCTIONS# ########### def myClick(): clicText = "Label 1 Entry is: " + myEntry.get() myCLickLabel = Label(root, text=clicText) myCLickLabel.grid(row=5, column=0) def radioCLicked(selection): radioSelection = Label(frameRadio,text=selection) radioSelection.pack() def popUpCLicked(): #showinfo, showwarning, showerror,askquestion,askokcancel, askyesno response = messagebox.showinfo("This is my INFO popup", "FYI") Label(framePopUp,text=response).pack() def newWindowCLicked(): top = Toplevel() image1 = Label(top, image=myImage) top.title("The ROcket image") image1.pack() buttonKillNewWindow = Button(top, text="Quit Window", command=top.destroy) buttonKillNewWindow.pack() def openFileCLicked(): file = filedialog.askopenfile(initialdir="/home/key/Documents/tkinter/",title="Selec A file",filetypes=(("png files", "*.png"),("all Files","*.*"))) image1_name = Label(frameOpenFile, text=os.path.abspath(file.name)).pack() myImage = ImageTk.PhotoImage(Image.open(os.path.abspath(file.name))) myImageLabel = Label(frameOpenFile,image=myImage).pack() ######## #FRAMES# ######## frame = LabelFrame(root, text="Exit Frame", padx=50, pady=50) frameRadio = LabelFrame(root, text="Radio Button Frame", padx=50, pady=50) framePopUp = LabelFrame(root, text="Generate PopUp", padx=50, pady=50) frameNewWindow = LabelFrame(root, text="Generate New Window", padx=50, pady=50) frameOpenFile = LabelFrame(root, text="Open File", padx=50, pady=50) ######### #WIDGETS# ######### #Labels label1 = Label(frame, text="Label") #Buttons buttonQuit = Button(frame, text="Exit", command=root.quit) buttonPizza = Button(frameRadio, text="Get Ingedient", command=lambda: radioCLicked(pizza.get())) buttonPopUp = Button(framePopUp, text="PopUp", command=lambda: popUpCLicked()) buttonNewWindow = Button(frameNewWindow, text="New Window", command=lambda: newWindowCLicked()) buttonOpenFile = Button(frameOpenFile, text="Open File", command=lambda: openFileCLicked()) for text, mode in RADIO: Radiobutton(frameRadio, text=text, variable=pizza, value=mode).pack() #Entry ########### #PLACEMENT# ########### frame.grid(row=0, column=0, padx=10, pady=10) label1.grid(row=0, column=0) buttonQuit.grid(row=1, column=0) frameRadio.grid(row=0, column=1, padx=10, pady=10) buttonPizza.pack() framePopUp.grid(row=1, column=0, padx=10, pady=10) buttonPopUp.pack() frameNewWindow.grid(row=1, column=1, padx=10, pady=10) buttonNewWindow.pack() frameOpenFile.grid(row=1, column=2, padx=10, pady=10) buttonOpenFile.pack() ############ #DISPLAYING# ############ #Showing on the screen and aranging them #Main Loop Equivalent of our main(); root.mainloop()