gpt4 book ai didi

c - 如何复制或复制 gtk 小部件?

转载 作者:太空狗 更新时间:2023-10-29 15:34:02 25 4
gpt4 key购买 nike

如何复制或复制 gtk 小部件?在我的应用程序中,我用一个很长的 for 循环创建了一个巨大的 GtkComboBox,这会占用大量时间,我在一个屏幕的两个地方使用这个组合。

所以,我想做的是一次创建这个组合,然后在另一个组合中复制/复制它,这样可以节省我的时间。

如果我尝试两次添加相同的组合框指针,gtk 会给出错误“child->paren != NULL”,因为 gtk 小部件只能有一个父级。

那怎么办呢?

最佳答案

这就是为什么 GTK+ 中许多显示数据的小部件都基于模型的原因。该模型保存数据,而不是小部件。小部件充当数据的“ View ”,模型可以在多个小部件之间共享。

您只需要在两个组合框中使用相同的模型:

GtkListStore *model;
GtkWidget *c1, *c2;

/* Set up the model. */
model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INTEGER); /* Or whatever. */

/* Create first combo. */
c1 = gtk_combo_box_new_with_model(GTK_TREE_MODEL(model));

/* Create second combo. */
c2 = gtk_combo_box_new_with_model(GTK_TREE_MODEL(model));

关于c - 如何复制或复制 gtk 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2645850/

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