GtkTreeView
チャンネル一覧にGtkTreeView を使ってみました。
Glade の操作に少し迷いましたが、一度覚えてしまえば、驚くほど手間を掛けずに実装ができそうです。
チャンネル一覧の項目をダブルクリックすることで、Peercast のストリーミング視聴を開始し、コンタクトURL を表示するようにしました。
ポイント
- スクロールバー付きリストボックスの構成
GtkScrolledWindow
GtkTreeView - モデルとビューの連携
GtkTreeView の全般「ツリービューのモデル」にGtkListStore のオブジェクトを指定する - モデルとビューの項目の対応付け
- GtkView を右クリックして「Edit」を選択
- 全般タブで項目の追加
- 階層タブでラベルを追加
- 追加したラベルを右クリックして「子アイテムの 文字列 の追加」
- 追加した子アイテムを選択して、「ラベル」に対応するモデルの項目を選択
- 表ヘッダの表示
- 表データの表示
- ダブルクリックのシグナル
row-activated
にハンドラを割り当てる - ダブルクリックのハンドラ
def on___glade_unnamed_28_row_activated(self, liststore, treepath, treeviewcolumn):
iter = liststore.get_iter(treepath)
stream_url = liststore[iter][2]
Comment