Ich mache einen kleinen Datei-Browser für mich selbst, in Ruby, und mit Qt für die Ansicht. Die Idee ist, dass es auf meinem Fernseher landen wird, wo ich mit der Fernbedienung auf und ab gehen und Dateien starten kann.Programmatisch durch eine ListView in Qt (Ruby) bewegen
Alles funktioniert gut, bis ich die Auswahl mit der Fernbedienung verschieben werde. Es ist mir gelungen, einen D-Bus-Dienst einzurichten, also rufe ich einfach die Methoden mit LIRC an.
Der Code Ich verwende für die Ansicht der Einrichtung sieht wie folgt aus:
@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
Und dann unsicher bin ich, wie die Auswahl zu ändern. Ich denke, ich muss über jeden setIndex, setSelection und jede Methode, die ähnlich klingt, auf dem DirModel, ItemSelectionModel und ListView, ohne Glück versucht haben. Ich habe gegoogelt und durch die API gelesen, ohne etwas zu finden.
Idealerweise hätte ich etwas wie "moveSelectionDown" und "moveSelectionUp", das sich darum kümmert und sicherstellt, dass es korrekt umgebrochen wird. Aber ich kann nichts finden.