我正在制作一个供我自己使用的小型文件浏览器,在 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”之类的东西来处理它,并确保它正确环绕。但我似乎找不到任何东西。