python ttk treeview问题

时间:2013-10-29 15:44:37

标签: python treeview ttk

我会诚实地说,我正在玩树视图和ttk,却没有真正理解它是如何工作的。然而,我遇到了一些问题,谷歌搜索后,我找不到合适的方法来解决它。我使用树视图作为列表框,因为ttk没有列表框元素。

  • 1:问题1:不知怎的,我总是得到一个额外的专栏,为什么?

    chat = ttk.Treeview(height="26", columns=("Nick","Mensaje","Hora"), selectmode="extended")
    chat.heading('#0', text='Nick', anchor=W)
    
    chat.heading('#1', text='Mensaje', anchor=W)
    
    chat.heading('#2', text='Hora', anchor=W)
    
    chat.column('#0', stretch=NO, minwidth=0, width=100)
    
    chat.column('#1', stretch=NO, minwidth=0, width=510)
    
    chat.column('#2', stretch=NO, minwidth=0, width=100)
    
    chat.place(bordermode=OUTSIDE, x=5, y=45)
    

但是在最后添加了一个额外的列,所以我不得不添加来修复它:

chat.column('#3', stretch=NO, minwidth=0, width=0)
  • 问题2:当我试图将项目插入treeview时,我意识到我无法找到说明信息应该去哪里的方法。例如,我想要一个变量来填充column1,而另一个变量来填充column2。我可以去的是:

    chat.insert('', "end", '', text=message)
    

但这只会在column0上添加消息。我如何将其保存在column1上,而另一个var保存在column0上?

  • 问题3:这真的是用ttk显示列表框的最佳(更简单,实际)方法吗?

感谢您的回答。

编辑:我想做这样的事情: http://pdqi.com/w/Download/BLT/treeview1.gifhttp://zoomq.qiniudn.com/ZQScrapBook/ZqFLOSS/data/20100928164510/multicolumn_treeview_plastiktheme.png

1 个答案:

答案 0 :(得分:2)

对于问题1 :我建议您重写代码:

chat = ttk.Treeview(height="26", columns=("Mensaje", "Hora"))

chat.heading('#0', text='Nick', anchor=W)
chat.heading('Mensaje', text='Mensaje', anchor=W)
chat.heading('Hora', text='Hora', anchor=W)

chat.column('#0', stretch=NO, minwidth=0, width=100)
chat.column('Mensaje', stretch=NO, minwidth=0, width=510)
chat.column('Hora', stretch=NO, minwidth=0, width=100)

对于问题2 :使用

chat.insert('', 'end', 'iid_1')
chat.set('iid_1', 'Hora', 'your value')

对于问题3 :ttk目前没有列表框,但您可以使用经典Tk小部件中的列表框。

相关问题