Answered step by step
Verified Expert Solution
Question
1 Approved Answer
import tkinter as tk from tkinter import ttk , messagebox from datetime import datetime class WorkshopApp: def _ _ init _ _ ( self ,
import tkinter as tk
from tkinter import ttk messagebox
from datetime import datetime
class WorkshopApp:
def initself root:
self.root root
self.root.titleCraft Workshop Management System"
self.teachers
self.students
self.courses
self.initdata
self.setupui
def initdataself:
self.teachers.appendTeacherKemal "Elmal sk "kemal@example.com", :AM:PM "Woodworking, Pottery"
self.teachers.appendTeacherAye "ordu skaye@example.com", :AM:PM "Painting, Sculpting"
self.students.appendStudentFatmanar sk "fatma@example.com"
self.students.appendStudentMustafaar sk "mustafa@example.com"
self.courses.appendCourse "Woodworking Basics", "Weekdays", :PM:PM self.teachers
self.courses.appendCourse "Pottery Intermediate", "Weekends", :AM:PM self.teachers
self.courses.appendCourse "Painting Techniques", "Weekdays", :PM:PM self.teachers
self.courses.appendCourse "Sculpting Advanced", "Weekends", :PM:PM self.teachers
def setupuiself:
ttkButtonselfroot, text"Course Enroll", commandself.courseenrollgridrow column padx pady
ttkButtonselfroot, text"Add New Course", commandself.addnewcoursegridrow column padx pady
ttkButtonselfroot, text"ViewEdit Courses", commandself.viewcoursesgridrow column padx pady
ttkButtonselfroot, text"View Teachers", commandself.viewteachersgridrow column padx pady
ttkButtonselfroot, text"View Students", commandself.viewstudentsgridrow column padx pady
ttkButtonselfroot, text"Add New Teacher", commandself.addnewteachergridrow column padx pady
def viewstudentsself:
studentwindow tkToplevelselfroot
studentwindow.titleList of Students"
for index, student in enumerateselfstudents:
row index
ttkLabelstudentwindow, textstudent.namegridrowrow, column padx pady
detailsbtn ttkButtonstudentwindow, text"Details", commandlambda sstudent: self.showstudentdetailss
detailsbtngridrowrow, column padx pady
def showstudentdetailsself student:
detailswindow tkToplevelselfroot
detailswindow.titleStudent Details"
labels Name "Home Phone", "Mobile Phone", "Address", "Email"
entries
for i label in enumeratelabels:
ttkLabeldetailswindow, textflabel:gridrowi column padx pady
entry ttkEntrydetailswindow
entry.insert getattrstudent label.lowerreplace
entry.gridrowi column padx pady
entrieslabel entry
tree ttkTreeviewdetailswindow, columnsCourse ID 'Payment' show'headings'
tree.headingCourse ID text'Course ID
tree.headingPayment text'Payment'
tree.gridrowlenlabels column columnspan padx pady sticky'nsew'
for courseid payment in student.payments.items:
tree.insert 'end', valuescourseid f$payment
savebtn ttkButtondetailswindow, text"Save", commandlambda: self.savestudentchangesstudent entries
savebtngridrowlenlabels column padx pady
def savestudentchangesself student, entries:
for label, entry in entries.items:
setattrstudent label.lowerreplace entry.get
messagebox.showinfoUpdate Successful", fUpdated studentnames details successfully"
def viewteachersself:
teacherwindow tkToplevelselfroot
teacherwindow.titleList of Teachers"
for index, teacher in enumerateselfteachers:
teacherinfo fteachernameteacherworkinghours
ttkLabelteacherwindow, textteacherinfogridrowindex, column padx pady
how to write a unit test for a save students changes
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started