我上excuting行這樣的警告:如何檢測gtkWarnings的來源?
self.builder.add_from_file(self.glade_file)
GtkWarning: IA__gtk_widget_set_size_request: assertion `GTK_IS_WIDGET (widget)' failed
self.builder.add_from_file(self.glade_file)
GtkWarning: IA__gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed
self.builder.add_from_file(self.glade_file)
GtkWarning: IA__gdk_window_get_width: assertion `GDK_IS_WINDOW (window)' failed
self.builder.add_from_file(self.glade_file)
GtkWarning: IA__gdk_window_get_height: assertion `GDK_IS_WINDOW (window)' failed
self.builder.add_from_file(self.glade_file)
GtkWarning: IA__gtk_widget_reparent: assertion `widget->parent != NULL' failed
self.builder.add_from_file(self.glade_file)
網絡談論類似他們警告上的所有文章已經錯過了一步,我需要認真對待。
錯誤在哪裏? 我的glade文件包含200多個對象,如何檢測警告的確切對象以糾正它? 哪條線是此警告的來源?
我想這個問題不在構建器文件,但代碼。只是一個預感:你是否在某個時候摧毀了小部件(也許在關閉時摧毀了一個窗口)?你可以顯示爲什麼使用add_from_file()(而不是普通的new_from_file()構造函數)的上下文嗎? – jku
是的,窗戶關閉時會被銷燬。但警告發生在代碼的啓動(更早) – esnadr
我會嘗試new_from_file()。 – esnadr