class MainWindow: def __init__(self, master): self.option_list = [] self.master = master master.title("點檢系統") # 获取屏幕的宽度和高度 screen_width = master.winfo_screenwidth() screen_height = master.winfo_screenheight() # 将窗口的大小设置为屏幕的大小 master.geometry("%dx%d" % (screen_width, screen_height))# 创建按钮以输出表单到Excel文件中 button = tk.Button(master, text="上傳", command=self.write_to_excel) button.grid(row=80, column=0)# 创建菜单栏 menu_bar = tk.Menu(master) # 创建“文件”菜单 file_menu = tk.Menu(menu_bar, tearoff=0) file_menu.add_command(label="5M點檢表", command=lambda: self.read_from_excel(file_menu, "5M點檢表")) file_menu.add_command(label="Router首件检查记录表", command=lambda: self.read_from_excel1(file_menu, "Router首件检查记录表")) file_menu.add_command(label="板组作业首件检查记录表", command=lambda: self.read_from_excel2(file_menu, "板组作业首件检查记录表")) # 创建“保养”菜单 maintenance_menu = tk.Menu(menu_bar, tearoff=0) maintenance_menu.add_command(label="日保養", command=lambda: self.read_from_excel3(maintenance_menu, "日保養")) maintenance_menu.add_command(label="周保養", command=lambda: self.read_from_excel4(maintenance_menu, "周保養")) # 创建“测试”菜单 test_menu = tk.Menu(menu_bar, tearoff=0) test_menu.add_command(label="人工測試站表單", command=lambda: self.read_from_excel5(test_menu, "人工測試站表單")) test_menu.add_command(label="自動化測試站表單", command=lambda: self.read_from_excel6(test_menu, "自動化測試站表單")) # 将子菜单添加到菜单栏 menu_bar.add_cascade(label="首件確認表單", menu=file_menu) menu_bar.add_cascade(label="保养表單", menu=maintenance_menu) menu_bar.add_cascade(label="F/T表單", menu=test_menu) # 将菜单栏添加到主窗口 master.config(menu=menu_bar)在這個函數中怎麽將選擇的菜單欄名稱獲取,並在點擊上傳按鈕時寫入excel
时间: 2023-11-22 13:55:48 浏览: 64
图片缩放-design_expert8.0响应面中文教程
在这个函数中,可以通过lambda表达式将选中的菜单名作为参数传递给read_from_excel等函数。在这些函数中,可以将该参数作为文件名打开Excel文件并写入数据。具体实现如下:
```
class MainWindow:
def __init__(self, master):
self.option_list = []
self.master = master
master.title("點檢系統")
# 获取屏幕的宽度和高度
screen_width = master.winfo_screenwidth()
screen_height = master.winfo_screenheight()
# 将窗口的大小设置为屏幕的大小
master.geometry("%dx%d" % (screen_width, screen_height))
# 创建按钮以输出表单到Excel文件中
button = tk.Button(master, text="上傳", command=self.write_to_excel)
button.grid(row=80, column=0)
# 创建菜单栏
menu_bar = tk.Menu(master)
# 创建“文件”菜单
file_menu = tk.Menu(menu_bar, tearoff=0)
file_menu.add_command(label="5M點檢表", command=lambda: self.read_from_excel(file_menu, "5M點檢表"))
file_menu.add_command(label="Router首件检查记录表", command=lambda: self.read_from_excel1(file_menu, "Router首件检查记录表"))
file_menu.add_command(label="板组作业首件检查记录表", command=lambda: self.read_from_excel2(file_menu, "板组作业首件检查记录表"))
# 创建“保养”菜单
maintenance_menu = tk.Menu(menu_bar, tearoff=0)
maintenance_menu.add_command(label="日保養", command=lambda: self.read_from_excel3(maintenance_menu, "日保養"))
maintenance_menu.add_command(label="周保養", command=lambda: self.read_from_excel4(maintenance_menu, "周保養"))
# 创建“测试”菜单
test_menu = tk.Menu(menu_bar, tearoff=0)
test_menu.add_command(label="人工測試站表單", command=lambda: self.read_from_excel5(test_menu, "人工測試站表單"))
test_menu.add_command(label="自動化測試站表單", command=lambda: self.read_from_excel6(test_menu, "自動化測試站表單"))
# 将子菜单添加到菜单栏
menu_bar.add_cascade(label="首件確認表單", menu=file_menu)
menu_bar.add_cascade(label="保养表單", menu=maintenance_menu)
menu_bar.add_cascade(label="F/T表單", menu=test_menu)
# 将菜单栏添加到主窗口
master.config(menu=menu_bar)
def read_from_excel(self, menu, filename):
# 记录选择的菜单名
self.selected_menu = menu.entrycget(0, "label")
# 打开Excel文件并读取数据
excel_data = read_data_from_excel(filename)
# 将数据显示在文本框中
self.show_data_in_textbox(excel_data)
def write_to_excel(self):
# 获取选中的菜单名
selected_menu = self.selected_menu
# 获取要写入Excel的数据
excel_data = get_excel_data_from_textbox()
# 写入数据到Excel文件中
write_data_to_excel(selected_menu, excel_data)
```
阅读全文