一个月前我听说过GNOME 3的GJS,我想尝试一下。我想做什么? GNOME 3与GJS的简单媒体播放器。
所以,基础已被编程,例如:
现在的问题是我想手动更改TreeView对象中的选定行(当用户按下前进或后退按钮时),我不知道如何执行此操作。
我查看官方的GNOME-Docs,在非正式的种子Documentation上查了一下谷歌并没有结果。我试图用GNOME 3的C-Docs找到它,但仍然没有。
我希望有人可以帮我解决这个“小问题”。 :)
简单音乐播放器的Link。
答案 0 :(得分:1)
好的,我刚刚找到答案:
// Get the selection from the Gtk.TreeView Object
this.selection = this._soundList.get_selection ();
// Get the bool "isSelected", the model and the Iter from this.selection.get_selected()
let [ isSelected, model, iter ] = this.selection.get_selected();
// Get the previous row in the list (iter_next(iter) for the next row)
this._listStore.iter_previous(iter);
// The selection should get updated
this.selection.select_iter(iter);
// Get the URI from the Gtk.ListStore Object
this.sound.uri = this._listStore.get_value (iter, 1);
我希望这能帮助那些需要它的人。
答案 1 :(得分:1)
有很好的例子: https://github.com/optimisme/gjs-examples
使用TreeView'是egList.js,但是egOpen.js也有ont Gtk.ComboBox使用Gtk.ListStore,Gtk.CellRendererTex和Gtk.TreeIter使用了一个“改变的”'事件