Reference no: EM133784224
USER INTERFACE DESIGN
Problem Description
In this assignment, students will design and implement a simple graphical user interface (GUI) using Python and the Tkinter library. The goal is to create a basic drawing application similar to Microsoft Paint, where users can draw, erase, and interact with various drawing tools such as brushes and colors. Through this project, students will explore fundamental concepts in UI/UX design, event handling, and graphical programming while gaining hands-on experience with Tkinter, a powerful toolkit for building user interfaces in Python. This assignment will emphasize both functionality and the importance of user-friendly design principles.
In addition to the basic drawing tools, students are encouraged to extend their programs by implementing optional features. These may include:
Shape tools: Allow users to draw shapes such as rectangles, circles, and lines.
Fill tool: Add functionality to fill closed shapes with a selected color.
Customizable brush sizes: Give users the ability to change the size of their brush for more precise drawing.
Undo/Redo functionality: Implement a system to track user actions and allow them to revert or redo their changes.
Save and open files: Allow users to save their drawings as image files and open previously saved work.
Color picker: Provide an interactive color palette or picker for custom color selection.
Layer system: Introduce multiple layers for drawing, similar to advanced graphic design tools, where users can draw on different layers and manipulate them independently.
By adding these features, students will not only enhance the functionality of their programs but also learn how to manage more complex GUI interactions and develop a richer, more versatile user experience.
Rules and Requirements
Your program should be developed in Python.
Your program must run correctly.
Your code must be easy to read with necessary comments.
Make sure you have read this document and all relevant documentation.
Group project
You can work in groups with your classmates. The members in a group can be between 1 - 3 people (maximum 3).
Please note that the marking criteria are the same regardless of the number of members. For example, no matter if you are the only person in your group or your group has 3 persons, you still need to provide least 5 solutions to get A.
All members in a group will receive the same mark unless explicitly noted.
Different groups CAN NOT work together to complete the assessment; this is a type of academic misconduct: collusion.
Task Overview
Here are the main tasks you need to do for this assignment.
Step 1 - Select solutions for the problem in Assignment 2
The first step is to determine solutions you plan to implement for this assignment. What functionality does your program need? Which (if any) of the optional extensions do you intend to implement? How should you lay out the various widgets to make the UI more usable?
Step 2 - Implement your solutions using Python and Tkinter
Once you have designed the structure and functionality of your drawing application, it's time to bring your ideas to life by implementing them using Python and the Tkinter library. Begin by setting up a basic Tkinter window, which will serve as the main canvas for your application. You will then create essential components like the drawing area, toolbars, and buttons. As you code, ensure that each tool (e.g., brushes, erasers, shapes) is tied to appropriate event handlers to allow users to interact with the program in real-time. Use Tkinter's Canvas widget for the drawing area and incorporate additional widgets such as buttons, sliders, and color pickers for tool selection and customization.
Step 3 - Record a video
You need to record a short video walkthrough of your implemented solutions (you can do it with Zoom as assignment 1), in which you will demonstrate how your solutions work (the code, and the way to use your solution as shown in Fig. 1). 3. Please upload the video to YouTube (or similar), and put a link to the video in the text file (see the last marking criteria). In addition, you need to upload the walkthrough video to LMS.