C 如何克隆GtkWindow及其内容?
我在GTK3中使用C和Glade。我想创建一种简单的编程语言。我创建了基本功能:代码编辑器、输出窗口等。但当用户关闭输出窗口并尝试重新打开时,此消息显示:C 如何克隆GtkWindow及其内容?,c,gtk3,glade,C,Gtk3,Glade,我在GTK3中使用C和Glade。我想创建一种简单的编程语言。我创建了基本功能:代码编辑器、输出窗口等。但当用户关闭输出窗口并尝试重新打开时,此消息显示: (ltc:3443): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GObject' (ltc:3443): GLib-GObject-CRITICAL **: g_object_class_list_properties: assertion 'G_IS_OB
(ltc:3443): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'GObject'
(ltc:3443): GLib-GObject-CRITICAL **: g_object_class_list_properties: assertion 'G_IS_OBJECT_CLASS (class)' failed
我认为问题是因为当用户关闭窗口时,它的结构也会在内存中被破坏
如何克隆窗口?我尝试了简单的GObject克隆算法,但它不克隆窗口内容
是否有可能使窗口在关闭或克隆时不被破坏?您可能希望的不是克隆窗口,而是确保它在关闭时不被破坏,而是被隐藏
尝试连接到
delete事件
信号,并使用gtk_widget_hide_on_delete()
作为信号处理程序,或在信号处理程序中调用它。请发布一个最基本的工作示例。此外,我在输出中没有看到任何调试语句,只有错误。尝试使用gdb单步执行代码。这是一个无价的工具。它应该能迅速找出你的错在哪里;仅凭你所发布的内容是很难做到的。