我是gtk和c的新手。
为我的程序使用c和libglade。
我正在编写一个程序,需要反复更新gtk表,具体取决于用户所做的组合框选择。
初始化时,gui有一个带有空表的vbox。用户从组合框中选择一个选项,根据选择,该表包含小部件(标签和输入框)。如果用户将其选择更改为其他选项,我需要清除以前小部件的表格,并使用新的适当小部件打包该表格以供选择。
我试图销毁表格小部件并重新创建一个新表格以添加到vbox但我收到了分段错误。
有没有办法破坏表格中的小部件而不是表格或不同的方式来做我想做的事情?
答案 0 :(得分:3)
听起来您需要GtkTreeView
使用GtkListStore
代替表格,而GtkCellRendererText
代替标签和输入框。该表不适用于显示动态数据。
答案 1 :(得分:0)
您是否尝试过tblFoo.resize(0, 0)
?
答案 2 :(得分:0)
您可以删除现有表格并创建+添加旧表格所附的新表格,例如在一个垂直的盒子里。