【问题标题】:python ttk treeview issuespython ttk树视图问题
【发布时间】:2013-10-29 15:44:36
【问题描述】:

老实说,我在玩树视图和 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 上,而另一个变量保存在column0 上?

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

感谢您的回答。

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

【问题讨论】:

    标签: python treeview ttk


    【解决方案1】:

    对于问题 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 小部件中的列表框。

    【讨论】:

    • 哦...谢谢!那么如果它是这样工作的,是否可以在特定的 FontColour 中设置列​​的信息而不影响整行?
    • @Saelyth 可能,没有。
    猜你喜欢
    • 2017-02-06
    • 2011-12-15
    • 2017-06-11
    • 2020-07-21
    • 2010-11-29
    • 2018-12-30
    • 2018-02-13
    • 2020-07-09
    • 1970-01-01
    相关资源
    最近更新 更多