首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Gtk-rs中获取选定列的文本

如何在Gtk-rs中获取选定列的文本
EN

Stack Overflow用户
提问于 2020-07-15 11:52:30
回答 1查看 136关注 0票数 0

我有个问题要问。所以我在Gtk-rs中有一个链接到ListStoreTreeViewListStore有3列,但我只显示了2列。我的问题很简单,基本上我希望每当用户单击TreeView的某一行时,程序都会将第四列打印到stdout

代码库很大,所以我不能分享代码,因为代码分布在50个文件中。此外,它将是开源的,但还不是。所以我被这个问题困在这里了。我试过Reddit,但没有成功。

我们非常欢迎任何帮助。只需分享一小段代码,并提供可能的解释。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-15 16:56:39

您想要管理row_activated信号。如果希望用户通过单击激活行,而不是像您建议的那样双击,则需要将activate-on-single-click属性设置为true。

然后,只需从树(或从某个捕获的状态)中获取模型,从单击的path中获取iter,从iter和cast列中获取值,并将其转换为适当的类型。

代码语言:javascript
复制
tree.set_activate_on_single_click(true);
tree.connect_row_activated(
    |tree, path, _col| {
        let model = tree.get_model().unwrap();
        let iter = model.get_iter(path).unwrap();
        let text = model.get_value(&iter, 2).get::<String>().unwrap();
        println!("{}", text);
    }
);

我添加了一些unwrap()调用以使代码更简单。您应该检查在您的应用程序中是否有任何这些操作会失败,并正确地处理这些情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62907332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档