python ttk treeview问题

2024-09-28 16:21:34 发布

您现在位置:Python中文网/ 问答频道 /正文

在这里我会说实话,我在玩treeviews和ttk,却没有真正理解它是如何工作的。尽管如此,我还是遇到了一些问题,在google上搜索之后,我找不到合适的方法来解决它。我使用treeviews作为listbox,因为ttk没有listbox元素。在

  • 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)
    

但这在结尾处添加了一个额外的列,所以我不得不添加来修复它:

^{pr2}$
  • 问题2:当我试图在treeview中插入项目时,我意识到我无法找到一种方法来说明信息应该放在哪里。例如,我想要一个变量来填充column1,但是需要另一个变量来填充column2。我所能做的就是:

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

但这只会在column0上添加消息。如何使它保存在column1上,而另一个变量保存在column0上?在

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

谢谢你的回答。在

编辑:我想做这样的事情:http://pdqi.com/w/Download/BLT/treeview1.gif或{a2}


Tags: 方法notextchatcolumnwidthnickanchor
1条回答
网友
1楼 · 发布于 2024-09-28 16:21:34

问题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期:使用

^{pr2}$

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

相关问题 更多 >