相关疑难解决方法(0)

是否可以滚动 Treeview 的列内容,而不是 Tkinter 中的列窗口?

我有一个带有 Treeview 小部件和一列的窗口。如果我添加足够的节点以使节点的文本超出窗口宽度,则无法水平滚动,除非我更改列宽以使其比窗口宽度更宽

这就是我的意思:

我应该能够水平滚动,这样我就可以适应节点的文本。

我应该能够水平滚动,这样我就可以适应节点的文本,但水平滚动条被禁用。

但是,如果我手动调整列本身的大小,我将能够滚动直到到达列的右边框。

请注意,滚动条适应列宽,而不是文本。

请注意,滚动条适应列宽,而不是文本,文本被留在后面。

self._tree_scrollbar_x = ttk.Scrollbar(self._tree_frame, orient='horizontal', command=self._tree.xview)
self._tree.configure(xscrollcommand=self._tree_scrollbar_x.set)
self._tree_scrollbar_x.grid(row=1, column=0, sticky=(tk.E, tk.W))
Run Code Online (Sandbox Code Playgroud)

有一个resize属性,但仅更改列是否随窗口框架/边框自动调整大小。

我知道这个问题以前曾被问过,但没有可靠的答案,所以这可能是 Tkinter/Ttk 的限制。

非常感谢任何帮助,谢谢。

python treeview tkinter ttk python-3.x

6
推荐指数
0
解决办法
1154
查看次数

如何在 Treeview 小部件中禁用列大小调整?

我在 Python 中有一个非常基本的Treeview设置:

self.tv = ttk.Treeview(top_frame, columns=("#","ID","Name"), selectmode = "browse" )

self.tv.heading('#1', text='#', anchor=W)
self.tv.heading('#2', text='ID', anchor=W)
self.tv.heading('#3', text='Name', anchor=W)

self.tv.column('#1',minwidth=70, width = 70, stretch=NO)
self.tv.column('#2', minwidth = 240, width = 240, stretch=NO)
self.tv.column('#3', minwidth=260, width = 260, stretch=NO)
self.tv.column('#0', minwidth=0, width=0, stretch=NO)
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是可以调整列的大小以使树视图比其容器更宽或更窄。两者都破坏了整个事物的美感。

根据我的阅读,stretch = NO应该禁用此功能,但事实并非如此。我正在 Mac 上使用 Python 2.7.9 测试 GUI。我知道某些小部件在 Mac 上无法 100% 工作,那么我是否做错了什么,或者这就是我所期望的?

python treeview tkinter

5
推荐指数
1
解决办法
2069
查看次数

标签 统计

python ×2

tkinter ×2

treeview ×2

python-3.x ×1

ttk ×1