# 设置表格列的标题和宽度 for col in header: table.heading(col, text=col) table.column(col, width=80, anchor="center") # 显示第一个表格的内容 for row in self.record_sheet.iter_rows(min_row=2, values_only=True): row_values = [str(cell) if cell is not None else "" for cell in row] if all(not bool(cell) for cell in row_values): continue table.insert("", tk.END, values=row_values) # 显示第二个表格 header = next(self.data_sheet.iter_rows(min_row=1, max_row=1, values_only=True)) print(header) # 创建表格 table2 = ttk.Treeview(self.table_frame2, columns=header, show='headings', yscrollcommand=table_scroll_y2.set, xscrollcommand=table_scroll_x2.set) table2.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) table_scroll_y2.config(command=table2.yview) table_scroll_x2.config(command=table2.xview) # 设置表格列的标题和宽度 for col in header: table2.heading(col, text=col) table2.column(col, width=80, anchor="center") # 显示第二个表格的内容 for row in self.data_sheet.iter_rows(min_row=2, values_only=True): row_values = [str(cell) if cell is not None else "" for cell in row] if all(not bool(cell) for cell in row_values): continue table2.insert("", tk.END, values=row_values) def query_data(self, query_str, table): # 清空表格内容 table.delete(*table.get_children()) # 获取查询条件 query_col = 8 # 遍历表格数据,找到符合条件的数据 for row in self.data_sheet.iter_rows(min_row=2, values_only=True): if str(row[query_col - 1]).startswith(query_str): row_values = [str(cell) if cell is not None else "" for cell in row] table.insert("", tk.END, values=row_values)
时间: 2024-02-14 21:21:16 浏览: 93
这段代码是关于如何在Python的tkinter中创建表格并显示数据的,其中包括创建表格、设置表格列的标题和宽度、显示表格的内容以及查询数据的功能。第一个表格显示的是self.record_sheet中的数据,第二个表格显示的是self.data_sheet中的数据。在查询数据时,会清空表格内容并根据查询条件找到符合条件的数据并显示在表格中。
相关问题
yscrollcommand=table_scroll_y.set, xscrollcommand=table_scroll_x.set) table.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) table_scroll_y.config(command=table.yview) table_scroll_x.config(command=table.xview) # 设置表格列的标题和宽度 for col in header: table.heading(col, text=col) table.column(col, width=80, anchor="center") # 显示第一个表格的内容 for row in self.record_sheet.iter_rows(min_row=2, values_only=True): row_values = [str(cell) if cell is not None else "" for cell in row] if all(not bool(cell) for cell in row_values): continue table.insert("", tk.END, values=row_values)
这段代码是用来显示 Excel 表格的数据的。首先,通过 Treeview 控件创建一个表格,然后设置滚动条并显示表格。接下来,设置表格列的标题和宽度,通过循环遍历列的标题来设置。最后,遍历 Excel 表格数据,将每行数据插入到表格中进行显示。需要注意的是,如果该行数据全为空值,则不会被插入到表格中进行显示。
def show_excel(self): # 清空文本框内容 self.result_text.delete(1.0, tk.END) self.result_text2.delete(1.0, tk.END) header = next(self.record_sheet.iter_rows(min_row=1, max_row=1, values_only=True)) print(header) table_frame = tk.Frame(self.result_text) table_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) table = ttk.Treeview(table_frame, columns=header, show='headings') table.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 设置表格列的标题和宽度 for col in header: table.heading(col, text=col) table.column(col, width=80, anchor="center") # 显示第一个工作表的内容 for row in self.record_sheet.iter_rows(min_row=2, values_only=True): row_values = [str(cell) if cell is not None else "" for cell in row] if all(not bool(cell) for cell in row_values): continue table.insert("", tk.END, values=row_values) header = next(self.data_sheet.iter_rows(min_row=1, max_row=1, values_only=True)) print(header) table_frame = tk.Frame(self.result_text2) table_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) table = ttk.Treeview(table_frame, columns=header, show='headings') table.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 设置表格列的标题和宽度 for col in header: table.heading(col, text=col) table.column(col, width=80, anchor="center") # 显示第一个工作表的内容 for row in self.data_sheet.iter_rows(min_row=2, values_only=True): row_values = [str(cell) if cell is not None else "" for cell in row] if all(not bool(cell) for cell in row_values): continue table.insert("", tk.END, values=row_values)將這倆個顯示數據的框添水平滾動條和垂直滾動條放到各自右側和底部
你可以在创建每个表格的 Frame 时指定它们的宽度和高度,然后将它们放置在一个父容器中,父容器使用 pack 布局,并设置 side 参数为 tk.LEFT,fill 参数为 tk.BOTH,expand 参数为 True,这样它们就会排列在一起。然后,在每个表格中创建一个 ttk.Scrollbar 对象,设置 orient 参数为 tk.VERTICAL 或 tk.HORIZONTAL,然后将它们放置在父容器的右侧或底部,使用 pack 布局,并设置 side 参数为 tk.RIGHT 或 tk.BOTTOM,fill 参数为 tk.Y 或 tk.X,expand 参数为 False。最后,将每个表格的 yscrollcommand 或 xscrollcommand 参数设置为相应的滚动条的 set 方法,将每个滚动条的 command 参数设置为相应的表格的 yview 或 xview 方法。这样就可以为每个表格添加水平滚动条和垂直滚动条了。
阅读全文