作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将 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/
我需要将 GHashTable 的组件 - SpinButtons - 更改为其调整 我以为这可以解决问题,但显然事实并非如此。 Gdb 没有多大帮助(step 只是跳过) GHashTableIte
我是一名优秀的程序员,十分优秀!