tk.Label(self.container1, text="查找内容:").grid(row=6, column=3, padx=5, pady=5, sticky="w") search_entry = tk.Entry(self.container1) search_entry.grid(row=6, column=3, padx=5, pady=5, sticky="we") # 创建 Button 控件用于触发查找操作 tk.Button(self.container1, text="查找", command=lambda: search_data(search_entry.get())).grid(row=6, column=2, padx=5, pady=5, sticky="e") def search_data(search_text): # 清空第二个表格中的数据 for child in treeview2.get_children(): treeview2.delete(child) # 在 Excel 中查找数据,并将符合条件的行添加到第二个表格中 for row in self.data_sheet.iter_rows(min_row=2, values_only=True): if search_text in str(row[7]): row_values = [str(cell) if cell is not None else "" for cell in row] treeview2.insert("", tk.END, values=row_values)在這個輸入框添加一個回車觸發查詢按鈕
时间: 2024-02-14 09:15:48 浏览: 140
你可以在search_entry控件中绑定回车键事件,当用户在该控件中按下回车键时,自动触发查找操作。代码如下:
```
# 定义回车键事件处理函数
def on_enter(event):
search_data(search_entry.get())
# 绑定回车键事件到search_entry控件
search_entry.bind('<Return>', on_enter)
```
这样,当用户在search_entry控件中按下回车键时,就会自动触发search_data函数,实现查找操作。
相关问题
class InventoryApp: def init(self, master): self.master = master master.title("物料进出库统计") # 创建容器,用于放置表格和文本框 self.container = tk.Frame(master, width=0.2) self.container.grid(row=0, column=0, padx=5, pady=5) # 创建容器,用于放置表格和文本框 self.container1 = tk.Frame(master) self.container1.grid(row=0, column=15, padx=5, pady=5) # 创建标签和文本框 self.label1 = tk.Label(self.container, text="物料名称:") self.label1.grid(row=0, column=0, padx=5, pady=5) self.material_name = tk.Entry(self.container, width=20) self.material_name.grid(row=0, column=1, padx=5, pady=5) self.label2 = tk.Label(self.container, text="数量:") self.label2.grid(row=1, column=0, padx=5, pady=5) self.material_qty = tk.Entry(self.container, width=20) self.material_qty.grid(row=1, column=1, padx=5, pady=5) # 创建进出库按钮 self.in_button = tk.Button(self.container, text="进库", command=self.in_stock) self.in_button.grid(row=2, column=0, padx=5, pady=5) self.out_button = tk.Button(self.container, text="出库", command=self.out_stock) self.out_button.grid(row=2, column=1, padx=5, pady=5) # 添加显示excel内容的按钮 self.show_button = tk.Button(self.container, text="显示Excel内容", command=self.show_excel) self.show_button.grid(row=3, column=0, columnspan=2, padx=5, pady=5) # 创建标签用于显示工作表名称 self.record_label = tk.Label(self.container1, text="記錄") self.record_label.grid(row=0, column=2, padx=5, pady=5) self.data_label = tk.Label(self.container1, text="數據") self.data_label.grid(row=2, column=2, 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["數據"]將這兩個容器修改為左右兩個面板
可以将原来的容器 `self.container` 和 `self.container1` 分别改为左右两个容器,例如:
```
self.left_container = tk.Frame(master, width=0.2)
self.left_container.grid(row=0, column=0, padx=5, pady=5)
self.right_container = tk.Frame(master)
self.right_container.grid(row=0, column=1, padx=5, pady=5)
```
然后将控件的位置和容器名称等相应修改即可。
class InventoryApp: def __init__(self, master): self.master = master master.title("物料进出库统计") self.master.state('zoomed') # 窗口最大化 # 创建左侧面板 self.container = tk.Frame(master) self.container.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 创建左上方面板 self.container_top = tk.Frame(self.container) self.container_top.pack(side=tk.TOP, fill=tk.BOTH, expand=True) # 创建左下方面板 self.container_bottom = tk.Frame(self.container) self.container_bottom.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=True)# 打开Excel文件 self.wb = openpyxl.load_workbook(r"C:\Users\bing3_chen\Desktop\1.xlsx") self.record_sheet = self.wb["記錄"] self.data_sheet = self.wb["數據"]self.label6 = ttk.Label(self.container_bottom, text="品名:") self.label6.grid(row=5, column=0, padx=5, pady=5) self.material_qty6 = ttk.Combobox(self.container_bottom, values=[]) self.material_qty6.grid(row=5, column=1, padx=5, pady=5)self.label8 = ttk.Label(self.container_bottom, text="单价:") self.label8.grid(row=7, column=0, padx=5, pady=5) ling2= [''] self.material_qty8 = ttk.Combobox(self.container_bottom, values=ling2) self.material_qty8.grid(row=7, column=1, padx=5, pady=5) self.material_qty8.current(0)
这段代码是一个物料进出库统计的应用程序,使用了Python的tkinter库进行界面设计。应用程序分为左右两个面板,左侧面板包括了左上方面板和左下方面板,右侧面板未在代码中出现。该应用程序打开了一个名为“1.xlsx”的Excel文件,并读取了其中的“記錄”和“數據”两个工作表。在左下方面板中,创建了两个下拉列表框,分别用于选择品名和单价。
阅读全文