Question: Q Write an address book program in python by using TKInter. Please download TKInterAddressBook.txt program. There are two task in this assignment. 1 . Add
Q Write an address book program in python by using TKInter. Please download TKInterAddressBook.txt program. There are two task in this assignment.
Add entry fields for City, State and Zip in the above Address Book program.
Add logic for the Previous and Last button. When user click Previous button the program should display previous record and when click on Last button it should display last record. here the addressbook import pickle
import ospath
from tkinter import # Import tkinter
import tkinter.messagebox
class Address:
def initself name, street:
self.name name
self.street street
class AddressBook:
def initself:
window Tk # Create a window
window.titleAddressBook # Set title
self.nameVar StringVar
self.streetVar StringVar
frame Framewindow
framepack
Labelframe text"Name"gridrow
column stickyW
Entryframe textvariableself.nameVar,
widthgridrow column
frame Framewindow
framepack
Labelframe text"Address"gridrow
column stickyW
Entryframe textvariableself.streetVar,
widthgridrow column
frame Framewindow
framepack
Buttonframe text"Add",
commandself.processAddgridrow column
btFirst Buttonframe text"First",
commandself.processFirstgridrow column
btNext Buttonframe text"Next",
commandself.processNextgridrow column
btPrevious Buttonframe text "Previous", command
self.processPreviousgridrow column
btLast Buttonframe text "Last",
command self.processLastgridrow column
self.addressList self.loadAddress
self.current
if lenselfaddressList:
self.setAddress
window.mainloop # Create an event loop
def saveAddressself:
outputFile openaddressdat", wb
pickle.dumpselfaddressList, outputFile
tkinter.messagebox.showinfo
"Address saved", "A new address is saved"
outputFile.close
def loadAddressself:
if not ospath.isfileaddressdat":
return # Return an empty list
try:
inputFile openaddressdat", rb
addressList pickle.loadinputFile
except EOFError:
addressList
inputFile.close
return addressList
def processAddself:
address AddressselfnameVar.get
self.streetVar.get
self.addressList.appendaddress
self.saveAddress
def processFirstself:
self.current
self.setAddress
def processNextself:
if self.current lenselfaddressList:
self.current
self.setAddress
def processPreviousself:
pass # Left as exercise
def processLastself:
pass # Left as exercise
def setAddressself:
self.nameVar.setselfaddressListselfcurrentname
self.streetVar.setselfaddressListselfcurrentstreet
AddressBook # Create GUI
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
