1)设计一个Manager类并编写代码, Manager类的属性有姓名,工号,基本工资,小时工资(元/小时)。自定义方法:至少包括计算月工资的方法:calSalary()。 (2)编写一个GUI类,输入manager的姓名、工号,基本工资,月工作时间(小时),创建对象,调用calSalary()方法计算出该manager的月工资,并显示在用户界面上。 组件位置、布局方式自行设置
时间: 2024-02-28 08:56:27 浏览: 94
好的,以下是代码实现:
Manager类:
```python
class Manager:
def __init__(self, name, id, base_salary, hour_salary):
self.name = name
self.id = id
self.base_salary = base_salary
self.hour_salary = hour_salary
def calSalary(self, work_hours):
return self.base_salary + self.hour_salary * work_hours
```
GUI类:
```python
import tkinter as tk
from tkinter import messagebox
class ManagerGUI(tk.Tk):
def __init__(self):
super().__init__()
self.title("Manager Salary Calculator")
tk.Label(self, text="姓名").grid(row=0, column=0)
tk.Label(self, text="工号").grid(row=1, column=0)
tk.Label(self, text="基本工资").grid(row=2, column=0)
tk.Label(self, text="每小时工资").grid(row=3, column=0)
tk.Label(self, text="月工作时间(小时)").grid(row=4, column=0)
self.name_entry = tk.Entry(self)
self.id_entry = tk.Entry(self)
self.base_salary_entry = tk.Entry(self)
self.hour_salary_entry = tk.Entry(self)
self.work_hours_entry = tk.Entry(self)
self.name_entry.grid(row=0, column=1)
self.id_entry.grid(row=1, column=1)
self.base_salary_entry.grid(row=2, column=1)
self.hour_salary_entry.grid(row=3, column=1)
self.work_hours_entry.grid(row=4, column=1)
tk.Button(self, text="计算月工资", command=self.calculate_salary).grid(row=5, column=0, columnspan=2, pady=10)
self.result_label = tk.Label(self, text="")
self.result_label.grid(row=6, column=0, columnspan=2)
def calculate_salary(self):
name = self.name_entry.get()
id = self.id_entry.get()
base_salary = float(self.base_salary_entry.get())
hour_salary = float(self.hour_salary_entry.get())
work_hours = float(self.work_hours_entry.get())
manager = Manager(name, id, base_salary, hour_salary)
salary = manager.calSalary(work_hours)
self.result_label.config(text=f"{name}的月工资为:{salary}元")
```
在主程序中,可以使用以下代码创建GUI并启动:
```python
app = ManagerGUI()
app.mainloop()
```
这样,一个简单的Manager工资计算器GUI就完成了。
阅读全文