python tkinter 表格_带滚动条的tkinter表格显示

本文介绍如何使用Python3的Tkinter库创建一个带有滚动条的表格显示功能。通过创建Canvas和Scrollbar,并将它们与Label网格相结合,实现了数据的显示。然而,在实际代码中,滚动条虽然出现,但无法正常工作。问题可能在于滚动条的命令绑定。
摘要由CSDN通过智能技术生成

我正在用python3/tkinter编写一个小GUI。我要做的是生成一个包含数据表(如电子表格)的窗口,并使该表可以水平和垂直滚动。现在我只想显示数据,所以我使用了一个标签网格。数据显示工作正常,但我无法让滚动条正常工作。下面是我的代码的相关部分;它所在的类继承自tk.Toplevelframe = self.frame = tk.Frame(self)

self.frame.grid(row=1, columnspan=2, padx=2, pady=2, sticky=tk.N+tk.E+tk.S+tk.W)

self.text_area = tk.Canvas(self.frame, background="black", width=400, height=500, scrollregion=(0,0,1200,800))

self.hscroll = tk.Scrollbar(self.frame, orient=tk.HORIZONTAL, command=self.text_area.xview)

self.vscroll = tk.Scrollbar(self.frame, orient=tk.VERTICAL, command=self.text_area.yview)

self.text_area['xscrollcommand'] = self.hscroll.set

self.text_area['yscrollcommand'] = self.vscroll.set

self.text_area.grid(row=0, column=0, sticky=tk.N+tk.S+tk.E+tk.W)

self.hscroll.grid(row=1,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 中,使用 Tkinter 库可以创建 GUI 应用程序。要创建滚动条表格,可以使用 Tkinter 的 Canvas 和 Scrollbar 组件。 以下是一个简单的示例代码,用于创建一个滚动条表格: ```python import tkinter as tk # 创建主窗口 root = tk.Tk() # 创建 Scrollbar 组件 scrollbar = tk.Scrollbar(root) scrollbar.pack(side=tk.RIGHT, fill=tk.Y) # 创建 Canvas 组件 canvas = tk.Canvas(root, yscrollcommand=scrollbar.set) canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 添加滚动条 scrollbar.config(command=canvas.yview) # 创建表格 table = tk.Frame(canvas) table.pack(fill=tk.BOTH, expand=True) # 添加表格内容 for i in range(100): for j in range(10): label = tk.Label(table, text="{} {}".format(i, j)) label.grid(row=i, column=j) # 将表格添加到 Canvas 中 canvas.create_window(0, 0, anchor=tk.NW, window=table) # 让 Canvas 适应表格大小以及添加滚动条功能 table.update_idletasks() canvas.config(scrollregion=canvas.bbox(tk.ALL)) # 运行主循环 root.mainloop() ``` 在这个例子中,我们先创建了一个主窗口 `root`,然后创建了一个 `Scrollbar` 组件和一个 `Canvas` 组件,并将 `Scrollbar` 放置在右侧,将 `Canvas` 放置在左侧,并让 `Canvas` 充满整个窗口。 接着,我们创建了一个表格 `table`,并向其中添加了一些内容。然后,我们使用 `canvas.create_window` 方法将表格添加到 `Canvas` 中,并使用 `table.update_idletasks()` 方法让 `Canvas` 适应表格的大小。最后,我们使用 `canvas.config(scrollregion=canvas.bbox(tk.ALL))` 方法添加滚动条功能。 注意,这个例子只是一个简单的示例,实际应用中可能需要根据需要对代码进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值