qml关于发布程序不显示界面解决方法

我们在写qml的程序中,将执行文件打包到其他电脑上运行时,不出现界面,但是在系统进程中又有运行,这说明是依赖文件没有找到造成程序没有显示出来,
下面,我们来说说解决方法,
1,网上已经有的方案是将qml的全部依赖拷贝进去,这是一种方法
但有的个情况也不会显示界面,因为还是缺少依赖,那就是plugins文件夹下的依赖文件在这里插入图片描述
所以我们的发布目录应该是这样的:
bin文件夹下放的是Qt5Network.dll ,Qt5Quick.dll,Qt5QuickControls2.dll这些主要用到的依赖文件。以及自己的exe文件
这个文件夹通过windeployqt 命令是可以找到一些必要的dll,但是还是不全,比如Qt5Svgd.dll,Qt5Testd.dll这些必要的依赖,但是又无法通过命令来获取。
qml文件夹就是网上的,全部拷贝的,但是也根据自己用到的依赖可以删减很多没有必要的dll依赖文件
translations文件夹,根据情况有的程序需要,有的程序不需要,
qtvirtualkeyboard也是一样的,因为我用到了虚拟键盘所以这个文件夹也是必要的,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
QML界面显示外部程序,可以通过将外部程序加载到QWidget框架中,然后再将QWidget窗口加载到QML界面中实现。具体步骤如下: 1. 创建一个QWidget窗口,并将外部程序加载到该窗口中。 2. 将QWidget窗口加载到QML界面中。 下面是一个示例代码: ```cpp // main.cpp #include <QApplication> #include <QQmlApplicationEngine> #include <QQuickWidget> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建一个QWidget窗口 QQuickWidget widget; widget.setSource(QUrl("qrc:/qml/ExternalProgram.qml")); // 加载外部程序QML文件 // 创建一个QQmlApplicationEngine QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/qml/Main.qml"))); // 加载主界面QML文件 // 将QWidget窗口加载到QML界面中 QObject *rootObject = engine.rootObjects().first(); QQuickItem *qmlItem = qobject_cast<QQuickItem*>(rootObject); qmlItem->setProperty("externalProgram", QVariant::fromValue(widget.rootObject())); return app.exec(); } ``` ```qml // Main.qml import QtQuick 2.0 Item { width: 800 height: 600 // 外部程序的容器 Item { id: externalProgramContainer anchors.fill: parent } // 加载外部程序QML文件 Component.onCompleted: { externalProgramContainer.children = [externalProgram]; } } ``` ```qml // ExternalProgram.qml import QtQuick 2.0 Rectangle { width: 400 height: 300 color: "lightblue" // 外部程序的内容 Text { text: "External Program" anchors.centerIn: parent font.pixelSize: 24 } } ``` 通过以上代码,我们创建了一个QWidget窗口,并将外部程序QML文件加载到该窗口中。然后,我们将该QWidget窗口加载到主界面QML文件中的一个容器中,从而在QML界面显示外部程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qtc++开发者

你的鼓励是我们创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值