你好你好我姓王 2024-03-18 20:57 采纳率: 0%
浏览 19

在银河麒麟系统上发布带WebView的QML程序后在测试机上点击web界面会崩溃

我在发布机上将QT程序使用linuxdeployqt生成了一个文件夹,并且将QT目录下的相关依赖以及文件夹都拷贝了过去,分别为lib、libexec、plugins、qml、resources、translations,并且在发布机上直接点击可执行文件可以打开,将该文件夹拷贝到一个没有安装过QT的同版本系统的测试机上时,点击可执行文件可以打开程序,并且其他页面都正常显示,但是当点击包含webview控件的tab页时,程序会崩溃,使用终端观察错误提示显示如下:

img

求解决办法

  • 写回答

2条回答 默认 最新

  • 关注

    你好你好我姓王 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    根据你提供的错误提示,可以看出程序崩溃的原因是缺少QtWebEngineProcess可执行文件。解决该问题的办法如下:

    1. 在发布机上,使用以下命令生成linuxdeployqt可执行文件:

      linuxdeployqt AppImageName.AppDir -bundle-non-qt-libs -qmldir=QMLDirectory -appimage
      

      其中,AppImageName是你的应用程序名称,AppDir是你要生成的AppImage文件夹的路径,QMLDirectory是你的QML文件夹的路径。

    2. 运行生成的linuxdeployqt可执行文件,将它与TrainControl可执行文件放在同一个目录下。

    3. 将该目录下的所有文件(包括生成的AppImage文件夹和TrainControl可执行文件)拷贝到测试机上。

    4. 在测试机上,打开终端,导航到TrainControl可执行文件所在的目录。

    5. 执行以下命令,给TrainControl可执行文件添加执行权限:

      chmod +x TrainControl
      
    6. 执行TrainControl可执行文件,观察是否还会崩溃并记录错误信息。

    根据你提供的错误提示,应该是缺少QtWebEngineProcess可执行文件导致崩溃,在上述步骤中,linuxdeployqt会自动将所需的依赖文件拷贝到AppImage文件夹中,包括QtWebEngineProcess可执行文件。确保在发布机上使用了linuxdeployqt生成了完整的AppImage文件夹,并将所有文件正确拷贝到测试机上。

    另外,对于QML中的anchors警告,这是因为在使用layout来管理项时,不能同时使用anchors属性设置项的位置,而应该使用Layout.alignment属性。如果你希望解决这个警告,可以修改相关QML文件中的代码,将anchors属性替换为Layout.alignment属性。

    希望这些解决方案能够帮助到你,如果问题仍然存在,请提供更多的错误信息和相关的代码,以便我们更好地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月18日

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus
  • ¥15 解决编写PyDracula时遇到的问题