如何从 PyGTK 中的树视图中的选定项目中获取值?

发布于 2024-12-12 13:31:56 字数 75 浏览 1 评论 0原文

我正在学习 PyGtk。我有一个包含 1 列的简单树视图,我从列表中获取该树视图的项目。

如何获取树视图中所选项目的值?

I'm learning PyGtk. I have a simple treeview with 1 column, I get items for that treeview from list.

How to get value of selected item in treeview?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

盛装女皇 2024-12-19 13:31:56

您可以使用 gtk.TreeView.get_selection( ) 方法来获取 gtk.TreeSelection

接下来,您应该使用 gtk。 TreeSelection.get_selected_rows()方法获取TreeModel(ListStore)和所选项目
路径。

然后,您可以使用 gtk.TreeModel。 get_iter() 以便从路径中获取 iter(由 gtk.TreeSelection.get_selected_rows() 方法返回)。

最后,您可以使用 gtk.TreeModel。 get_value() 方法获取该列对应的值以及之前恢复的iter。

例子 :

def onSelectionChanged(tree_selection) :
    (model, pathlist) = tree_selection.get_selected_rows()
    for path in pathlist :
        tree_iter = model.get_iter(path)
        value = model.get_value(tree_iter,0)
        print value

listStore = gtk.ListStore(int)
treeview = gtk.TreeView()
treeview.set_model(listStore)
tree_selection = treeview.get_selection()
tree_selection.set_mode(gtk.SELECTION_MULTIPLE)
tree_selection.connect("changed", onSelectionChanged)

You may use the gtk.TreeView.get_selection() method to get the gtk.TreeSelection.

Next, you should use the gtk.TreeSelection.get_selected_rows() method to get the TreeModel (the ListStore) and the selected items
paths.

Then, you can use the gtk.TreeModel.get_iter() in order to get the iter from the path (returned by the gtk.TreeSelection.get_selected_rows() method).

Finally, you may use the gtk.TreeModel.get_value() method to get the value corresponding to the column and the iter previously recovered.

Example :

def onSelectionChanged(tree_selection) :
    (model, pathlist) = tree_selection.get_selected_rows()
    for path in pathlist :
        tree_iter = model.get_iter(path)
        value = model.get_value(tree_iter,0)
        print value

listStore = gtk.ListStore(int)
treeview = gtk.TreeView()
treeview.set_model(listStore)
tree_selection = treeview.get_selection()
tree_selection.set_mode(gtk.SELECTION_MULTIPLE)
tree_selection.connect("changed", onSelectionChanged)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文