栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何禁用手动调整Tkinter的Treeview列的大小?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何禁用手动调整Tkinter的Treeview列的大小?

以下仅在Windows上进行了测试,其他操作系统可能有所不同。

对于任何将来的读者,从Tk
8.5开始,Treeviews都有一种

identify_region
方法可以接受屏幕位置(x,y),并将返回与这些坐标所占据的Treeview区域相对应的字符串。

返回值之一是“ separator”。

我用它来捕获分隔符上的双击事件以自动调整列的大小,但是您也可以用它来捕获单击事件并阻止它们。

例如:

def handle_click(event):    if treeview.identify_region(event.x, event.y) == "separator":        return "break"#...treeview.bind('<Button-1>', handle_click)

这样做的好处是 不会 禁用整个树形视图-因此您仍然可以选择/扩展/折叠行,单击列标题进行排序等-您将无法调整列的大小。

请注意,即使禁用了调整大小,“双箭头”光标(⇔)仍会出现。您还可以通过对

<Motion>
事件执行完全相同的操作来防止显示双箭头光标(绑定到该事件,检查该事件是否在分隔符上方,并通过返回字符串阻止传播该事件
"break"
)。

>>> sys.version'3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)]'>>> tkinter.TkVersion8.6


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/640311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号