Ruby で自分用の小さなファイル ブラウザを作成し、ビューに Qt を使用しています。アイデアは、それが私のテレビに届き、リモコンを使って上下に移動したり、ファイルを起動したりできるということです。
リモートを使用して選択範囲を移動するまで、すべてが正常に機能します。D-Bus サービスをセットアップできたので、LIRC を使用してメソッドを呼び出します。
ビューの設定に使用しているコードは次のようになります。
@dm = Qt::DirModel.new
@sm = Qt::ItemSelectionModel.new(@dm)
@lv = Qt::ListView.new
@lv.model = @dm
@lv.selectionModel = @sm
cwd = @dm.index(@dir)
@lv.rootIndex = cwd
そして、選択を変更する方法がわかりません。DirModel、ItemSelectionModel、およびListViewで、すべてのsetIndex、setSelection、およびすべてのメソッドが同様に聞こえるように、運がなければ試したに違いないと思います。私は何も見つけずにグーグルでAPIを読んでいます。
理想的には、「moveSelectionDown」や「moveSelectionUp」のようなものを用意して、正しくラップアラウンドするようにします。しかし、私は何も見つけられないようです。