问题标签 [tkinter.scrollbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
81175 浏览

python - 在 Tkinter 中为一组小部件添加滚动条

我正在使用 Python 从日志文件中解析条目,并使用 Tkinter 显示条目内容,到目前为止它非常好。输出是一个标签小部件的网格,但有时行数超出了屏幕上可以显示的数量。我想添加一个滚动条,看起来应该很简单,但我想不通。

该文档暗示只有 List、Textbox、Canvas 和 Entry 小部件支持滚动条界面。这些似乎都不适合显示小部件网格。可以将任意小部件放入 Canvas 小部件中,但您似乎必须使用绝对坐标,所以我无法使用网格布局管理器?

我尝试将小部件网格放入框架中,但这似乎不支持滚动条界面,所以这不起作用:

任何人都可以提出解决这个限制的方法吗?我讨厌不得不在 PyQt 中重写并将我的可执行图像大小增加这么多,只是为了添加一个滚动条!

0 投票
2 回答
7238 浏览

python - tkinter 将滚动条放在画布的底部位置

关于我的 tkinter 画布上滚动条位置的问题。我有一个带有 3 个画布小部件的框架。感谢这篇文章的想法。我添加了一个水平滚动条,每个画布都有一个 50+ 列 500+ 行的 pandas 数据框。负载不是很快,但这不是目标。

新行将添加到每个数据框的底部。这个新行需要验证。因此,与其每次都向下滚动,不如滚动条/或画布显示底部。

请参阅下面的代码,其中定义了 3x 画布和 3x 滚动条 (x+y)。

我在这个论坛和一些信息(effbot)页面上阅读了我应该使用 moveto() / yview_moveto() 命令选项,但到目前为止这似乎不起作用。

问题 1. 我应该将 y 滚动条放在底部还是应该将画布视图放在底部。

问题 2. 您能否就如何使用 moveto 提供一些指导,或者我应该采用不同的方法吗?

非常感谢!

0 投票
1 回答
907 浏览

python - Python tkinter 使用画布创建带有滚动条的动态窗口

我的目标是解决网格超出窗口的问题(如图1)

在此处输入图像描述

我的程序功能是创建一个由用户定义的列数的网格。

我尝试使用画布来解决这个问题,但它仍然无法成功。它没有在画布中显示完整的网格。(如图2所示) 在此处输入图像描述

以下是我的代码,请您帮忙解决问题或给我一些建议。非常感谢。

代码:

0 投票
1 回答
52 浏览

python-3.x - 使用 tk.Scrollbar 更新 tk.canvas 中的图像

我开发了一个小型tkinterGUI 来显示(和导出)以专有格式存储的图像。我设法将数据加载到 3D numpyuint8数组中。我想在tkinter.canvas. 为此,我使用了ImageTk.PhotoImage.

在 Canvas 下方,我插入了一个tk.Scrollbar. 我的目标是使用该滚动条让用户通过 3D 阵列主动“滚动”。基本上,当移动滑块或按下任何箭头时,对应于滑块位置的切片应显示在画布中。

现在我有一个问题,我不明白如何将滚动条的范围设置为我的 z 维度,然后如何将滚动条事件绑定到移动或箭头动作以更新画布。

现在我没有示例代码,因为这是一个更具概念性的问题。

你能指出我如何解决这个问题的正确方向吗?

最佳 TMC

编辑图片

带有画布和滚动条的 Tkinter Gui