创建表格用于显示第一个工作表 columns1 = next(self.record_sheet.iter_rows(min_row=1, max_row=1, values_only=True)) treeview1 = ttk.Treeview(self.container1, columns=columns1, show="headings", style="MyTreeview1.Treeview", height=10) vsb1 = ttk.Scrollbar(self.container1, orient="vertical", command=treeview1.yview) treeview1.configure(yscrollcommand=vsb1.set) treeview1.grid(row=1, column=3, rowspan=1, padx=5, pady=5, sticky="nsew") vsb1.grid(row=1, column=4, rowspan=1, padx=0, pady=5, sticky="ns") # 设置表格列的标题和宽度 for col in columns1: treeview1.heading(col, text=col) treeview1.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 treeview1.insert("", tk.END, values=row_values) # 创建表格用于显示第二个工作表 columns2 = next(self.data_sheet.iter_rows(min_row=1, max_row=1, values_only=True)) treeview2 = ttk.Treeview(self.container1, columns=columns2, show="headings", style="MyTreeview1.Treeview", height=10) vsb2 = ttk.Scrollbar(self.container1, orient="vertical", command=treeview2.yview) treeview2.configure(yscrollcommand=vsb2.set) treeview2.grid(row=5, column=3, rowspan=1, padx=5, pady=5, sticky="nsew") vsb2.grid(row=5, column=4, rowspan=1, padx=0, pady=5, sticky="ns") # 设置表格列的标题和宽度 for col in columns2: treeview2.heading(col, text=col) treeview2.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 treeview2.insert("", tk.END, values=row_values)這修改後的代碼還是會因爲excel數據中列數多,導致數據左端別遮擋,怎麽修改
时间: 2024-03-22 09:37:06 浏览: 22
可以考虑将表格放入一个带有滚动条的框架中,使得表格的宽度可以适应窗口大小并且可以滚动,代码示例如下:
```
# 创建第一个表格
columns1 = next(self.record_sheet.iter_rows(min_row=1, max_row=1, values_only=True))
treeview1 = ttk.Treeview(self.container1, columns=columns1, show="headings", style="MyTreeview1.Treeview", height=10)
treeview1.grid(row=1, column=3, rowspan=1, padx=5, pady=5, sticky="nsew")
# 创建第二个表格
columns2 = next(self.data_sheet.iter_rows(min_row=1, max_row=1, values_only=True))
treeview2 = ttk.Treeview(self.container1, columns=columns2, show="headings", style="MyTreeview1.Treeview", height=10)
treeview2.grid(row=5, column=3, rowspan=1, padx=5, pady=5, sticky="nsew")
# 将表格放入框架中
frame1 = tk.Frame(self.container1)
frame1.grid(row=1, column=3, rowspan=1, padx=5, pady=5, sticky="nsew")
frame2 = tk.Frame(self.container1)
frame2.grid(row=5, column=3, rowspan=1, padx=5, pady=5, sticky="nsew")
# 创建滚动条并绑定到表格上
vsb1 = ttk.Scrollbar(frame1, orient="vertical", command=treeview1.yview)
vsb1.pack(side="right", fill="y")
treeview1.configure(yscrollcommand=vsb1.set)
vsb2 = ttk.Scrollbar(frame2, orient="vertical", command=treeview2.yview)
vsb2.pack(side="right", fill="y")
treeview2.configure(yscrollcommand=vsb2.set)
# 设置表格列的标题和宽度
for col in columns1:
treeview1.heading(col, text=col)
treeview1.column(col, width=80, anchor="center")
for col in columns2:
treeview2.heading(col, text=col)
treeview2.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
treeview1.insert("", tk.END, values=row_values)
# 显示第二个工作表的内容
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
treeview2.insert("", tk.END, values=row_values)
```
这段代码中,我们将表格放入了名为frame1和frame2的框架中,并在框架右侧添加了一个垂直滚动条,使得表格可以滚动。同时,我们也将表格的宽度设置为了80,并在窗口大小变化时自动调整。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)