我是编程新手。我正在创建一个Qt GUI应用程序。这是一个小字游戏。
问题是每当我在构建程序后从命令提示符启动该程序时,都会在命令提示符处得到以下输出:

JumbleGame 1.0

Launching Application.....

QVariantMap DBusMenuExporterDBus::GetProperties(int, const QStringList&): Condition failed: action

上面的两行都可以,我打印了它们,但是QVariantMap DBusMenuExporterDBus::GetProperties(int,const QStringList&)是什么:条件失败:操作

启动应用程序后,它工作正常,但是当我关闭它时,在命令提示符下得到以下输出:
(`<unknown>`:7312): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GObject'

(`<unknown>`:7312): GLib-GObject-CRITICAL **: g_object_get_data: assertion `G_IS_OBJECT (object)' failed

所有这些错误是什么意思,我该如何删除它们。
我的代码完全在Qt C++中

提前致谢。

最佳答案

听起来您创建了菜单,并且添加了没有操作的菜单项,或者您的操作不再存在。

DBus是Posix体系结构中使用的具有Windows端口的消息传递系统。 QVariantMap可能与Qt内部管理您放在一起的某些GUI元素的方式有关。

因此,很有可能在构造函数中的堆栈上创建了一些GUI元素,并且当您离开构造函数时,这些元素超出了范围,并且GUI现在有很多错误的指针。

因此,要解决此问题,请确保根据objects在堆上具有Qt元素/小部件/Qt Object Model

希望能有所帮助。

10-06 06:04