Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Login Screen When the application is first launched, it should open a window that is 500x660 pixels in size (use the window objects geometry function

Login Screen When the application is first launched, it should open a window that is "500x660" pixels in size (use the window objects geometry function to set this). Set the title of the window to "FedUni Money Manager" using the top-level window object's winfo_toplevel().title() function. The window uses the GridManager layout manager for placing GUI elements (e.g. 'widgets'), it contains a Label that spans the top of the window saying "FedUni Money Manager" (font size is 28). On the next line is a label saying "User Number" and then an Entry widget for the user to type in their user number and an entry for the PIN number. It then has a series of buttons from 0 through 9, along with a Log In button and a Clear/Cancel button. Each time a number is pressed it is added to a string - for example, if the user pushed the 4 button then the 3 button then the 2 button and then the 1 button then the string should contain the text "4321". By using the show="*" attribute you can 'mask' the input so that anyone looking over your shoulder cannot see the exact pin number, they'll just see "****" instead. When the Clear/Cancel button is pressed, or when a user "logs out" then this PIN string should be reset to an empty string. When the Log In button is pressed then the program should attempt to open the file with the user number followed by ".txt" - so in the example below, because the user number entered was "123456", the program will attempt to open the file "123456.txt". If that file could not be opened then a messagebox should display a suitable error message such as "Invalid user number - please try again!". You will have to "try/catch" this risky functionality to avoid the program crashing - see the week 7 lecture materials if you need a recap. If the user exists, then MoneyManager object should be created and the fields of the MoneyManager object should be set (e.g. user_number, pin_number, balance, and the transaction_list). Because you don't know how many transactions are stored for this user user, after reading the first four lines you will need to attempt to read two lines and if they exist create a tuple of the transaction (i.e. it's type and amount) and then add it to the MoneyManager object's transaction_list - for example you may do the following in a loop: # Try to read a line, break if we've hit the end of the file line = read_line_from_user_file() if not line: break else: # read another line, create a tuple from both lines and append the # tuple to the the MoneyManager object's transaction_list The user screen has: - A large "FedUni Money Manager" label at the top that spans 5 columns (font size is 22), - A label with the user number followed by the actual user number displayed, - A label with the current balance followed by the actual balance, - A log out button which saves the user file (overwriting it) and causes all widgets to be removed from the screen and the log in screen displayed again, - An "Amount" label followed by an amount Entry widget where you can type in how much to deposit or an entry added, - Deposit and Withdraw buttons that deposit or withdraw funds using the MoneyManager classes methods to do soA Text widget (i.e. multi-line text) that shows all the transactions associated with the user. The height of this widget is 10 lines and the width of the widget is 48 characters. - To the right of the Text widget this is a scrollbar which can be used to scroll the Text widget (it is not really showing in the above screenshot because the Text widget does not have more than 10 lines worth of content), and finally - At the bottom of the screen is a plot (histogram) of the spending of the user broken down by type

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_2

Step: 3

blur-text-image_step3

Ace Your Homework with AI

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

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

1. Understand how verbal and nonverbal communication differ.

Answered: 1 week ago