我在QML中有一个小应用程序,可以在我的Linux机器上正常运行。但是当我尝试在Raspberry Pi上运行它时,它会显示一个内部只有空白区域的窗口。还有一部分文字项目 - 类似于最后3个字符 - 位于左上角。
我发现的各种主题都谈到了丢失的QML文件,但是我和可执行文件位于同一目录中。当我试图移动它们时,我至少得到一个无法找到的错误。
另一件事是,当我运行应用程序时,CPU使用率上升到300%。
在我的笔记本电脑上,我在RPi 5.3.2上有Qt 5.6.1。我正在使用Raspbian存储库中的库来编译RPi上的应用程序。
不确定是否相关,但也有警告:
libEGL warning: DRI2: failed to authenticate
我还尝试export QML_IMPORT_TRACE=1
查看正在加载的QML文件,一切看起来都正确。
在main.cpp中加载QML文件如下所示:
QQmlApplicationEngine engine;
engine.load("qml/MainWindow.qml");
我也试过使用qrc,结果相同。而使用QQuickView而不是QQmlApplicationEngine导致了同样的事情。
可能是什么问题?或者我在哪里可以搜索更多信息?
编辑:
我尝试了一个QML示例(texteditor),使用与我的应用程序相同的工具构建。该示例没有任何问题,因此问题必须在我的代码中。
答案 0 :(得分:0)
对于可能遇到同样问题的任何人。
问题在于根据Window设置尺寸,如下所示:
Rectagle {
width: Window.width
}
更改为:
Rectagle {
width: mainWindow.width
}
其中mainWindow
是主QML文件中Window项的id。
不确定为什么这适用于Linux PC而不是Raspbian。