C++ 如何修复';油嘴滑舌的GObject警告/关键';
我正在用Qt编写一些代码,当我使用QColorDialog时,应用程序会冻结,并有以下输出:C++ 如何修复';油嘴滑舌的GObject警告/关键';,c++,linux,qt,gtk,C++,Linux,Qt,Gtk,我正在用Qt编写一些代码,当我使用QColorDialog时,应用程序会冻结,并有以下输出: GLib-GObject-WARNING **: 10:53:36.573: cannot register existing type 'GtkWidget' GLib-GObject-WARNING **: 10:53:36.573: cannot add class private field to invalid type '<invalid>' GLib-GObject-WAR
GLib-GObject-WARNING **: 10:53:36.573: cannot register existing type 'GtkWidget'
GLib-GObject-WARNING **: 10:53:36.573: cannot add class private field to invalid type '<invalid>'
GLib-GObject-WARNING **: 10:53:36.573: cannot add private field to invalid (non-instantiatable) type '<invalid>'
GLib-GObject-CRITICAL **: 10:53:36.573: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
GLib-GObject-WARNING **: 10:53:36.573: cannot register existing type 'GtkBuildable'
GLib-GObject-CRITICAL **: 10:53:36.573: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed
GLib-CRITICAL **: 10:53:36.573: g_once_init_leave: assertion 'result != 0' failed
GLib-GObject-CRITICAL **: 10:53:36.573: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
GLib-GObject-CRITICAL **: 10:53:36.573: g_type_register_static: assertion 'parent_type > 0' failed
GLib-GObject-WARNING **: 10:53:36.573: cannot add private field to invalid (non-instantiatable) type '<invalid>'
我已尝试在删除/home/user/.config/QtProject时清除QtCreator缓存,并已尝试删除项目中的.pro.user文件
我已经尝试在Debian 9和Linux Mint 19.1肉桂上运行,同样的问题。Qt或QtCreator中的某个插件可能正在尝试卸载GTK并重新加载它,这显然是不受支持的。我同意。尝试不使用QColorDialog::DontUseNativeDialog标志。这可以避免Qt对本地Gtk的攻击中的任何无知。如果没有DontUseNativeDialog标志,我也会遇到同样的问题。
QColor m_color;
m_color = QColorDialog::getColor(m_color, this, QString(), QColorDialog::DontUseNativeDialog);