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)) #獲取點檢記錄明細路徑 self.minxi=r"D:\點檢系統存放資料夾\點檢明細\點檢内容明細.xlsx" menu_bar = tk.Menu(master) # 创建“文件”菜单 file_menu = tk.Menu(menu_bar, tearoff=0) file_menu.add_command(label="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, "板组作业首件检查记录表")) # 创建“PA”子菜单 pa_menu = tk.Menu(file_menu, tearoff=0) pa_menu.add_command(label="PA1", command=lambda: self.read_from_excel1(file_menu, "Router首件检查记录表")) pa_menu.add_command(label="PA2", command=lambda: self.read_from_excel(pa_menu, "PA2")) file_menu.add_cascade(label="PA", menu=pa_menu) # 将菜单添加到菜单栏 menu_bar.add_cascade(label="文件", menu=file_menu) # 将菜单栏添加到主窗口 master.config(menu=menu_bar) def change_menu_color(self, menu, label): menu.entryconfig(label, background="red") self.master.after(20 * 60 * 1000, lambda: menu.entryconfig(label, background="white")) def read_from_excel1(self,menu,label): self.change_menu_color(menu, label) self.current_menu = "Router首件检查记录表"需要在read_from_excel1函數中添加文本框和標簽
时间: 2023-11-11 18:06:42 浏览: 156
可以在read_from_excel1函数中添加一个文本框和一个标签来显示读取的Excel文件的内容,具体代码如下:
```
def read_from_excel1(self, menu, label):
self.change_menu_color(menu, label)
self.current_menu = "Router首件检查记录表"
# 创建一个标签
label = tk.Label(self.master, text="Excel文件内容:")
label.pack()
# 创建一个文本框
text = tk.Text(self.master, height=20, width=100)
# 读取Excel文件内容
wb = openpyxl.load_workbook(self.minxi)
ws = wb.active
for row in ws.iter_rows(values_only=True):
text.insert(tk.END, str(row) + "\n")
# 将文本框添加到窗口中
text.pack()
```
这样就可以在读取Excel文件时显示文件内容了。当然,你可以根据自己的需要对文本框和标签进行调整。
相关问题
为每条代码添加注释:import tkinter as tk class ChildWindow: def __init__(self, master): self.master = master self.current_image = 1 self.img1 = tk.PhotoImage(file='image1.gif') self.img2 = tk.PhotoImage(file='image2.gif') self.img_label = tk.Label(master, image=self.img1) self.img_label.pack() self.button = tk.Button(master, text='Switch', command=self.switch_image) self.button.pack() def switch_image(self): if self.current_image == 1: self.img_label.config(image=self.img2) self.current_image = 2 else: self.img_label.config(image=self.img1) self.current_image = 1 class MainWindow: def __init__(self, master): self.master = master self.button = tk.Button(master, text='Open Child Window', command=self.open_child_window) self.button.pack() def open_child_window(self): top = tk.Toplevel(self.master) child = ChildWindow(top) root = tk.Tk() app = MainWindow(root) root.mainloop()
# 导入tkinter库,并将其重命名为tk
import tkinter as tk
# 定义一个ChildWindow类
class ChildWindow:
# 初始化函数,接收一个master参数
def __init__(self, master):
# 将master参数保存到self.master属性中
self.master = master
# 初始化当前显示的图片编号为1
self.current_image = 1
# 创建两个图片对象,分别对应image1.gif和image2.gif两个文件
self.img1 = tk.PhotoImage(file='image1.gif')
self.img2 = tk.PhotoImage(file='image2.gif')
# 创建一个Label组件,用于显示图片,初始显示img1
self.img_label = tk.Label(master, image=self.img1)
# 将Label组件添加到父容器中
self.img_label.pack()
# 创建一个Button组件,用于切换图片,点击时执行self.switch_image()函数
self.button = tk.Button(master, text='Switch', command=self.switch_image)
# 将Button组件添加到父容器中
self.button.pack()
# 切换图片的函数
def switch_image(self):
# 如果当前显示的是img1,则切换到img2
if self.current_image == 1:
self.img_label.config(image=self.img2)
self.current_image = 2
# 如果当前显示的是img2,则切换到img1
else:
self.img_label.config(image=self.img1)
self.current_image = 1
# 定义一个MainWindow类
class MainWindow:
# 初始化函数,接收一个master参数
def __init__(self, master):
# 将master参数保存到self.master属性中
self.master = master
# 创建一个Button组件,用于打开子窗口,点击时执行self.open_child_window()函数
self.button = tk.Button(master, text='Open Child Window', command=self.open_child_window)
# 将Button组件添加到父容器中
self.button.pack()
# 打开子窗口的函数
def open_child_window(self):
# 创建一个Toplevel组件,作为子窗口,父窗口为self.master
top = tk.Toplevel(self.master)
# 创建一个ChildWindow对象,传入子窗口作为master参数
child = ChildWindow(top)
# 创建一个Tk对象,作为程序的根窗口
root = tk.Tk()
# 创建一个MainWindow对象,传入根窗口作为master参数
app = MainWindow(root)
# 进入主事件循环
root.mainloop()
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)) #獲取點檢記錄明細路徑 self.minxi=r"D:\點檢系統存放資料夾\點檢明細\點檢内容明細.xlsx" # 日期标签和输入框 ri=datetime.now().strftime('%Y/%m/%d') values = [ri] self.date_label = tk.Label(master, text="點檢日期:") self.date_label.grid(row=0, column=0) self.date_entry = ttk.Combobox(master, values=values) self.date_entry.grid(row=0, column=1) self.date_entry.current(0) # 默认选中第一个选项 def read_from_excel1(self,menu,label): self.change_menu_color(menu, label) self.current_menu = "Router首件检查记录表" # 读取excel文件的代码 # 从Excel文件中读取表单并显示到窗口中的日志框中 wb = openpyxl.load_workbook(self.minxi, read_only=True) ws = wb['Router首件检查记录表']在這段代碼中如果用戶調用第二個函數時需要添加指定的標簽和文本框,該怎麽寫
你可以在代码中添加两个参数,分别是menu和label,用来指定需要改变颜色的菜单和标签。然后在函数中调用change_menu_color函数,将menu和label作为参数传递进去。具体代码如下:
```
def read_from_excel1(self, menu, label):
self.change_menu_color(menu, label)
self.current_menu = "Router首件检查记录表"
# 读取excel文件的代码
# 从Excel文件中读取表单并显示到窗口中的日志框中
wb = openpyxl.load_workbook(self.minxi, read_only=True)
ws = wb['Router首件检查记录表']
# 在这里添加指定的标签和文本框的代码
# ...
```
当用户调用read_from_excel1函数时,只需要传入需要改变颜色的菜单和标签即可。
阅读全文