0

ここで正直に言うと、ツリービューと 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.gifまたはhttp://zoomq.qiniudn.com/ZQScrapBook/ZqFLOSS/data/20100928164510/multicolumn_treeview_plastiktheme.png

4

1 に答える 1

3

問題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 ウィジェットのリストボックスを使用できます。

于 2013-11-14T19:45:19.023 に答える