我在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)
我遇到的问题是可以调整列的大小以使树视图比其容器更宽,或者更窄。这两者都破坏了整个事物的美学。
根据我的阅读,stretch = NO
应禁用此功能,但事实并非如此。我用Python 2.7.9在Mac上测试GUI。我知道某些小部件只是简单地在Mac上100%工作,所以我做错了什么,或者是我所能期待的?
答案 0 :(得分:0)
column()的stretch参数在Python ttk中为True / False。在OSX上,“stretch = False”对我有用。 见https://docs.python.org/2/library/ttk.html#ttk.Treeview.column
答案 1 :(得分:0)
要禁用列调整大小,您需要创建一个 def 以在它位于分隔符 x 和 y 中时中断单击。看例子:
def handle_click(event):
if treeview.identify_region(event.x, event.y) == "separator":
return "break"
#...
treeview.bind('<Button-1>', handle_click)
希望能帮到所有需要解决的人。