回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在用Python中的一个带有多个列的<code>treeview</code>做一个聊天客户端。</p>
<p>这是<code>treeview</code>的代码:</p>
<pre><code>chat = ttk.Treeview(height="26", columns=("Nick","Mensaje","Hora"), selectmode="extended")
chat.heading('#1', text='Nick', anchor=W)
chat.heading('#2', text='Mensaje', anchor=W)
chat.heading('#3', text='Hora', anchor=W)
chat.column('#1', stretch=NO, minwidth=0, width=130)
chat.column('#2', stretch=NO, minwidth=0, width=620)
chat.column('#3', stretch=NO, minwidth=0, width=65)
chat.column('#0', stretch=NO, minwidth=0, width=0) #width 0 to not display it
</code></pre>
<p>我添加了这样的项目:</p>
<pre><code>chat.insert("", "end", "", values=((user, message, time)), tags=(messageid))
chat.tag_configure(messageid, foreground='#ff0000')
</code></pre>
<p>现在,这非常有效(这里有一个屏幕截图作为例子):<img src="https://i.stack.imgur.com/2kENv.png" alt="screenshot"/>但是最后一行代码改变了该行中所有3列的颜色。我只想更改#2列(仅消息)的文本颜色,而不是整个行(不是Nick列或Time列)。我试了很长一段时间,但现在是凌晨4点,我投降了,有什么办法吗?</p>
<p><strong>两周后更新</strong></p>
<p>现在我试着做了3个不同的treeviews(每个1列),结果是这样的:
<img src="https://i.stack.imgur.com/3Ltkd.png" alt=""/>
虽然这解决了颜色问题,但我有一个新问题:滚动条。有办法把一个滚动条绑定到3个不同的treeviews吗?到目前为止,我所有的尝试都失败了,我只能用滚动条移动其中一个树视图。可以绑定到3个treeviews吗?(如果是:怎么做?,值得吗?,我应该吗?)</p>
<p>还有一个问题:在TTK python中,所有删除treeview border的尝试都失败了。</p>
<p>另一个问题是,现在Mensaje treeview只显示第一个单词。不知道为什么二者都没有:这是关于第一个单词问题的新代码。</p>
<pre><code>chat2 = ttk.Treeview(height="28", columns="Mensaje", selectmode="extended")
chat2.heading('#1', text='Mensaje', anchor=CENTER)
chat2.column('#1', stretch=NO, minwidth=400, width=620)
chat2.column('#0', stretch=NO, minwidth=0, width=0)
</code></pre>
<p>这是一条信息:</p>
<pre><code>BotGUI.chat2.insert("", "end", iid=(idmensajeactual), values=mensaje, tags=(messageid))
try:
BotGUI.chat2.tag_configure(messageid, foreground='#'+colorfuente) #tfl
except TclError:
print("[Error02] - can't assign colour of "+ usuario +".")
</code></pre>