GNOME Peercast Player

チャンネル一覧にGtkTreeView を使ってみました。
Glade の操作に少し迷いましたが、一度覚えてしまえば、驚くほど手間を掛けずに実装ができそうです。
チャンネル一覧の項目をダブルクリックすることで、Peercast のストリーミング視聴を開始し、コンタクトURL を表示するようにしました。

ポイント

  • スクロールバー付きリストボックスの構成
    GtkScrolledWindow
    GtkTreeView
  • モデルとビューの連携
    GtkTreeView の全般「ツリービューのモデル」にGtkListStore のオブジェクトを指定する
  • モデルとビューの項目の対応付け
    1. GtkView を右クリックして「Edit」を選択
    2. 全般タブで項目の追加
    3. 階層タブでラベルを追加
    4. 追加したラベルを右クリックして「子アイテムの 文字列 の追加」
    5. 追加した子アイテムを選択して、「ラベル」に対応するモデルの項目を選択
  • 表ヘッダの表示
  • 表データの表示
  • ダブルクリックのシグナル
    row-activated にハンドラを割り当てる
  • ダブルクリックのハンドラ
    def on___glade_unnamed_28_row_activated(self, liststore, treepath, treeviewcolumn):
    iter = liststore.get_iter(treepath)
    stream_url = liststore[iter][2]