Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

please explain each method and object in this code and why we used it i will upvote from tkinter import from tkinter import filedialog as

please explain each method and object in this code and why we used it i will upvoteimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

from tkinter import from tkinter import filedialog as fd class MenuGui: def_init__(self, master): #Set the master window self.master = master #Set the size self.master.resizable(false, False) #Set the geometry self.master.geometry('550x400') #Initialize the variables self.firstName = StringVar(value="") self.lastName = StringVar(value="") self.department = Stringvar(value="none") self.gender = StringVar(value="None") self.read = Stringvar(value="") self.draw = Stringvar(value="") self.program = Stringvar(value="") self.paint = Stringvar(value="") self.create_widgets() = = #Function to create widgets def create_widgets(self): #Create the menubar mainmenu = Menu(self.master) #Create the file menu file = Menu(mainmenu, tearoff= 0) #Call the openFile when File Open is clicked file.add_command(label="Open", command=self.openFile) file.add_command(label="Save") file.add_command(label="Exit", command=self. Appquit) mainmenu.add_cascade(label="File", menu=file) edit = Menu(mainmenu, tearoff = 0) edit.add_command(label="copy") edit.add_command(label="Paste") edit.add_command(label="Find") mainmenu.add_cascade(label="Edit", menu=edit) self.master.config(menu=mainmenu) #Create first name label self.firstNamelbl Label(self.master, text 'First Name', fg='red') self.firstNamelbl.grid(column=1, row=1, padx = 20, pady = 10) 1 = self.spacelabel = Label(self.master, text = ("" * 20)) self.spacelabel.grid(column=2, row=1) #Create first name textbox self.firstNameEntry = Entry(self.master, width=30, textvariable = self.firstName) self.firstName Entry.grid(column=3, row=1) #Create last name label self.lastNamelbl = Label(self.master, text = 'Last Name', fg='red') self.lastNamelbl.grid(column=1, row=2, padx = 20, pady = 10) #Create last name text box self.lastNameEntry = Entry(self.master, width=30, textvariable = self.lastName) self.spacelabel.grid(column=2, row=1) self.lastName Entry.grid(column=3, row=2) #Create the deartment label self.departmentLbl = Label(self.master, text = 'Department', fg='red') self.departmentlbl.grid(column=1, row=3, padx = 20, pady = 10) #Create the radio buttons self.compSciRadioBtn = Radiobutton(self.master, text = 'Computer Science' + " " * 25, value='Computer science', variable = self.department) self.swEnggRadioBtn = Radiobutton(self.master, text = 'software Engineering', value='software Engineering', variable = self.department) self.spacelabel.grid(column=2, row=3) self.compSciRadioBtn.grid(column=3, row=3) self.swEnggRadioBtn.grid(column=4, row=3) #Create the gender label self.genderlbl = Label(self.master, text = 'Gender fg='red') self.genderlbl.grid(column=1, row=4, padx = 5, pady = 5) #Create the gender radio buttons self.maleRadioBtn = Radiobutton(self.master, text = ('Male' +""* 47), value='Male', variable = self.gender) self.femaleRadioBtn = Radiobutton(self.master, text = ('Female' + "" 22), value='Female', variable = self.gender) self.spacelabel.grid(column=2, row=4) self.maleRadioBtn.grid(column=3, row = 4) self.femaleRadioBtn.grid(column=4, row = 4) #Create the hobby label self.hobbiesLbl = Label(self.master, text = 'Hobbies ', fg='red', anchor="e", justify=RIGHT) self.hobbieslbl.grid(column=1, row=5, padx = 5, pady = 5) #Create the hobby checkboxex self.progchkBox = Checkbutton(self.master, text = ('Programming' + "" * 30), onvalue = "Programming", offvalue = "", variable = self.program) self.paintchkBox = Checkbutton(self.master, text = ('Painting'+ * 20), onvalue = "Painting", offvalue = variable = self.paint) self.spacelabel.grid(column=2, row=6) self.progchkBox.grid(column=3, row=6) self.paintchkBox.grid(column=4, row=6) self.readchkBox = Checkbutton(self.master, text = ('Reading' + "" * 40), onvalue = "Reading", offvalue = variable = self.read) self.drawchkBox = Checkbutton(self.master, text = ('Drawing'+ * 20), onvalue = "Drawing", offvalue = variable = self.draw) "!!! 11 11 self.spacelabel.grid(column=2, row=5) self.readchkBox.grid(column=3, row=5) self.drawchkBox.grid(column=4, row=5) #Crete the showinformation button self.showButton = Button(self.master, text="show information", command=self.showInfo) #Crete the writeinformation button self.writeButton = Button(self.master, text="write information", command=self.writeInfo) self.showButton.config( height = 10, width = 20, bg='yellow', justify=LEFT) self.writeButton.config( height = 10, width = 20, bg='yellow') self.showButton.grid(column=1, row=7, columnspan=2, padx=25) self.writeButton.grid(column=3, row=7) #Function to open a filedialog box def openFile(self): fileName = fd.askopenfilename) if (fileName != ""): self.master.title(fileName) else: self.master.title('My Title') #Function quit the App def Appquit(self): self.master.destroy() #Validate if there are entries in the first, last name and gender, depart and hobbies are selcted #If all values are selected then the function returns true else it returns false def validateEntries(self): if self.firstName.get() == "": lines = ['Kindly enter the first name'] messagebox.showinfo('Information', " ".join(lines)) return false elif self.lastName.get() == "": lines = ['Kindly enter the last name'] messagebox.showinfo('Information', " ".join(lines)) return false elif self.department.get() == "None" : lines = ['Kindly select the department'] messagebox.showinfo('Information', " ".join(lines)) return false elif self.gender.get() == "None": lines = ['Kindly select the gender'] == == "") and (self.paint.get() == "")): messagebox.showinfo('Information', " ".join(lines)) return false elif ((self.read.get() == "") and (self.draw.get() "") and (self.program.get() lines = ['select a hobby'] messagebox.showinfo('Information', " ".join(lines)) return false else: return True " " + self.lastName.get() #Call when writeinformation button is clicked def writeInfo(self): if (self.validateEntries() == True) : ofile = open("readme.txt", "W") lines = [] fullName = "Your Full Name is " + self.firstName.get() + subject = "You study" + self.department.get() gender = "You are " + self.gender.get() hobbies = "Your hobbies are: lines.append(fullName) lines.append(subject) lines.append(gender) lines.append(hobbies) if (self.read.get() != ""): lines.append(self.read.get()) if (self.draw.get() != ""): lines.append(self.draw.get()) if (self.paint.get() != ""): lines.append(self.paint.get()) if (self.program.get() != ""): lines.append(self.program.get()) ofile.write(" ".join(lines)) ofile.close() == #Call when showinformation button is clicked def showInfo(self): if (self.validateEntries() True): lines = [] fullName = "Your Full Name is " + self.firstName.get() + subject = "You study " + self.department.get() gender = "You are + self.gender.get() hobbies = "Your hobbies are:" + self.lastName.get() lines.append(fullName) lines.append( subject) lines.append(gender) lines.append(hobbies) if (self.read.get() != ""): lines.append(self.read.get()) if (self.draw.get() != ""): lines.append(self.draw.get()) if (self.paint.get() != ""): lines.append(self.paint.get()) if (self.program.get() != ""): lines.append(self.program.get()) messagebox.showinfo('Information', " ".join(lines)) f f name == main__": root = Tk() #Create a Menugui object app = MenuGui(root) #Use as Mainloop for GUI processing root.mainloop()

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions

Question

Explain the importance of nonverbal messages.

Answered: 1 week ago

Question

Describe the advantages of effective listening.

Answered: 1 week ago

Question

Prepare an employment application.

Answered: 1 week ago