gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 11:48:17 25 4
gpt4 key购买 nike

我在这里有一个问题。所以我在Gtk-rs中有一个TreeViewListStore链接。 ListStore有3列,但我只显示2列。我的问题很简单,基本上我希望每当用户单击TreeView的行时,程序将第四列打印到stdout中。
代码库很大,因此我无法共享代码,因为代码分布在50个文件中。它还将是开源的,但尚未公开。因此,我在这里遇到了这个问题。我尝试过Reddit,但是没有运气。
任何帮助都将受到欢迎。只需分享一个小的代码片段,并附上可能的解释。
提前致谢。

最佳答案

您要管理row_activated信号。如果您希望用户通过单击而不是双击来激活该行,如您似乎建议的那样,则需要将activate-on-single-click属性设置为true。
然后,只需从树(或从某种捕获的状态)中获取模型,从单击的iter中获取path,从iter中的值和所需的列中获取值,然后将其转换为正确的类型即可。

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()调用来简化代码。您应该检查其中任何一个是否会在您的应用程序中失败,并妥善处理这些情况。

关于rust - 如何在Gtk-rs中获取选定列的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62907332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com