gpt4 book ai didi

c - GHashTableIter 将 GtkSpinButton 设置为可调整

转载 作者:行者123 更新时间:2023-11-30 18:06:00 25 4
gpt4 key购买 nike

我需要将 GHashTable 的组件 - SpinButtons - 更改为其调整

我以为这可以解决问题,但显然事实并非如此。 Gdb 没有多大帮助(step 只是跳过)

GHashTableIter adjusthashtable;
gpointer key, value;

g_hash_table_iter_init (&adjusthashtable, widgetbuffer);
while (g_hash_table_iter_next (&adjusthashtable, &key, &value))
{
if(strcmp(G_OBJECT_TYPE_NAME(value),"GtkSpinButton") == 0){
value = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(value));
}
}

最佳答案

您需要使用旧 key 将新值重新插入到哈希表中。唯一的问题是这可能会使您的迭代器无效,因此您可能需要重新初始化它。您还可以比现在更有效地检查小部件是否是旋转按钮,因此内部循环将变为:

if(GTK_IS_SPIN_BUTTON(value)) {
g_hash_table_insert(widgetbuffer, key, gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(value)));
g_hash_table_iter_init(&adjusthashtable, widgetbuffer);
}

关于c - GHashTableIter 将 GtkSpinButton 设置为可调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863187/

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