当实施特定操作(例如提交和删除)时,是否可以刷新具有多个按钮的按钮框?在提交时,应添加一个新按钮,在删除时(选择按钮后),按钮应该被销毁(不是隐藏)。 GUI使用 Gtk-2 中的 Glade 进行设计,代码采用 C 语言。
答案 0 :(得分:1)
使用gtk_box_pack_start()
或...pack_end()
或任何其他相关方法向该框添加按钮。使用按钮上的gtk_widget_destroy()
将其从容器中移除并同时将其销毁。
答案 1 :(得分:0)
我得到了答案。在for循环中,而不是从 i = 0 创建按钮,我确实采用了一个新的 int 变量,该变量包含已经存在的按钮总数,现在它只创建新的的。
void Buttons()
{
int i, totalrecord=0;
int prevtotalbutton;
for (i = prevtotalbutton ; i <totalrecord; i++)
{
ButtonfromArray = gtk_button_new_with_label (array);
gtk_box_pack_start(GTK_BOX(VBbox), ButtonfromArray, FALSE, TRUE, 1);
gtk_signal_connect (GTK_OBJECT (ButtonfromArray), "clicked", GTK_SIGNAL_FUNC (ButtonsCreated), VBbox);
gtk_widget_show (ButtonfromArray);
}
prevtotalbutton=totalrecord;
}
刷新按钮框在这里有点复杂。这个技巧确实有效,并且没有使用任何新功能来执行 destroy 和所有。
我们大多数人都面临这个问题。希望我的回答可以帮助像我这样的许多人。