gpt4 book ai didi

c - 如何使用 gtk_list_store_set_value?

转载 作者:行者123 更新时间:2023-12-01 23:20:40 25 4
gpt4 key购买 nike

我需要将来自文本小部件的数据存储在列表存储的 TreeView 中。

为此,我显然应该使用 gtk_list_store_set_value ,它能够执行正确的类型转换。

首先:我不知道怎么办。它想要一个 GValue,但每次我尝试输入一个 GValue 时,它​​都会强烈提示。

第二:如果将非数字输入到连接到 gint 类型的列表存储列的文本字段中,则会输出什么错误?

第三:我似乎缺少什么更简单的方法吗?类似于从 liststore 到 cellrenderer 自动生成的反向连接?

最佳答案

不要使用gtk_list_store_set_value(),因为您缺少一种更简单的方法。首先是关于“类型转换GValue”的注释;你想从什么类型转换GValue 是任意数据类型的容器,它不能转换为任何内置类型或任何 GObject 类型。您需要构建它。

但是,使用 gtk_list_store_set() 将负责构建和释放所有 GValue,因此您无需担心。它的工作原理如下:

gtk_list_store_set(list_store, &iter,
column_number_1, value_1,
column_number_2, value_2,
...,
-1);

因此,要设置 gint 类型的单列(假设为数字 0),您可以执行 gtk_list_store_set(list_store, &iter, 0, int_value, -1);

不要依赖 GTK 来验证文本字段的输入。最好自己决定哪些值有效,并在将它们插入列表存储之前亲自检查它们。当有人输入您不期望的值时,这将防止出现任何令人讨厌的意外。

关于c - 如何使用 gtk_list_store_set_value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6032098/

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