class InventoryApp: def __init__(self, master): self.master = master master.title("物料进出库统计") # 创建标签和文本框 self.label1 = tk.Label(master, text="物料名称:") self.label1.grid(row=0, column=0, padx=5, pady=5) self.material_name = tk.Entry(master) self.material_name.grid(row=0, column=1, padx=5, pady=5) self.label2 = tk.Label(master, text="数量:") self.label2.grid(row=1, column=0, padx=5, pady=5) self.material_qty = tk.Entry(master) self.material_qty.grid(row=1, column=1, padx=5, pady=5) # 创建进出库按钮 self.in_button = tk.Button(master, text="进库", command=self.in_stock) self.in_button.grid(row=2, column=0, padx=5, pady=5) self.out_button = tk.Button(master, text="出库", command=self.out_stock) self.out_button.grid(row=2, column=1, padx=5, pady=5) # 打开Excel文件 self.wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx") self.record_sheet = self.wb["記錄"] self.data_sheet = self.wb["數據"]在這個代碼中添加一個按鈕,用於顯示打開的excel分開顯示兩個工作表中的内容
时间: 2024-01-13 13:04:06 浏览: 146
好的,可以在 `__init__` 方法中添加一个按钮及其相应的回调函数。具体代码如下:
```python
class InventoryApp:
def __init__(self, master):
self.master = master
master.title("物料进出库统计")
# 创建标签和文本框
self.label1 = tk.Label(master, text="物料名称:")
self.label1.grid(row=0, column=0, padx=5, pady=5)
self.material_name = tk.Entry(master)
self.material_name.grid(row=0, column=1, padx=5, pady=5)
self.label2 = tk.Label(master, text="数量:")
self.label2.grid(row=1, column=0, padx=5, pady=5)
self.material_qty = tk.Entry(master)
self.material_qty.grid(row=1, column=1, padx=5, pady=5)
# 创建进出库按钮
self.in_button = tk.Button(master, text="进库", command=self.in_stock)
self.in_button.grid(row=2, column=0, padx=5, pady=5)
self.out_button = tk.Button(master, text="出库", command=self.out_stock)
self.out_button.grid(row=2, column=1, padx=5, pady=5)
# 添加显示excel内容的按钮
self.show_button = tk.Button(master, text="显示Excel内容", command=self.show_excel)
self.show_button.grid(row=3, column=0, padx=5, pady=5)
# 打开Excel文件
self.wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx")
self.record_sheet = self.wb["記錄"]
self.data_sheet = self.wb["數據"]
# 显示excel内容的回调函数
def show_excel(self):
# 创建一个新窗口
top = tk.Toplevel(self.master)
# 创建标签和文本框用于显示第一个工作表
label1 = tk.Label(top, text="记录表")
label1.grid(row=0, column=0, padx=5, pady=5)
text1 = tk.Text(top)
text1.grid(row=1, column=0, padx=5, pady=5)
# 显示第一个工作表的内容
for row in self.record_sheet.iter_rows(values_only=True):
text1.insert(tk.END, " ".join(str(val) for val in row) + "\n")
# 创建标签和文本框用于显示第二个工作表
label2 = tk.Label(top, text="数据表")
label2.grid(row=2, column=0, padx=5, pady=5)
text2 = tk.Text(top)
text2.grid(row=3, column=0, padx=5, pady=5)
# 显示第二个工作表的内容
for row in self.data_sheet.iter_rows(values_only=True):
text2.insert(tk.END, " ".join(str(val) for val in row) + "\n")
```
这样,就在原来的基础上添加了一个名为 `show_button` 的按钮,点击它就可以弹出一个新的窗口,里面分别显示了两个工作表的内容。
阅读全文