问题标签 [qqmlapplicationengine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
745 浏览

qt - 长时间延迟后从源加载 QML 图像

我正在开发一个 Qt 快速应用程序,我在其中通过网络提供“main.qml”文件:

main.qml 文件是:

我使用HFS工具创建了文件服务器。

我正在运行我的应用程序,它从服务器获取 qml 文件。应用程序以白屏启动,等待很长时间而不是加载图像并显示它。如输出所示,它在 main.qml 之后很长时间才请求图像文件要求:

在此处输入图像描述

为什么它要求比 qml 文件晚1 分钟的图像?如何减少该持续时间?

如果我在互联网上设置图像,也会发生这种情况。我确信 HFS 没有问题。

0 投票
1 回答
430 浏览

windows - 使用 QQmlApplicationEngine 强制 QApplication 处于前台

即使弹出其他进程,我也试图强制我的应用程序保持领先地位。这是我的简化版本main

主文件

我需要一个解决方案WindowsLinux。但是优先级是前者,似乎没有Qt解决方案。这是我尝试过的:

ok返回true,但它似乎不起作用。外部进程在启动后仍然出现在应用程序的顶部。

加载的QML文件visibility设置为FullScreen. 它的类型是ApplicationWindow.

0 投票
1 回答
3537 浏览

python - PyQt:如何从 QQmlApplicationEngine 获取根对象

我尝试使用 PyQt 和 QML 显示动态对象,但出现此错误:

IndexError:列表索引超出范围

这是我的代码 PyQt:

(PS:使用非动态对象,我的代码运行正常)

这是我的 main.qml

}

和我的 Page1.qml 导入 QtQuick 2.7

Page1Form.ui.qml :

0 投票
0 回答
380 浏览

qt - QML custom Item not working with QQmlApplicationEngine

I made a accordion in QML and when I try to use it in a QML project, it works fine.

But I need to integrate it in a QWidget project, so I try to use a QQmlApplicationEngine to display it. But when I do this, nothing work, just name of the items are printed in the window

Here are my files:

PanelItem.qml

main.qml

And this is how I use QQmlApplicationEngine

Does anyone know why ?

Thanks a lot !

0 投票
0 回答
1376 浏览

qt - QML WebEngineView.runJavaScript 未能运行 HTML Java Script 方法

工作环境:Windows 7 64位,QT 5.8 64位,编译器:VS2015 64位。

使用 WebEngineView 我正在加载 HTML 页面,HTML 具有脚本功能

但是使用 webEngine.runJavaScript("document.OnClick", function(result) { console.log("Text box value set to 10."); });

它未能执行功能。根据我的示例,它应该将文本框值设置为 10。

main.qml 代码:

HTML页面代码:

任何线索为什么它未能将文本框中的值设置为 10 ?

我的 git代码在这里。

0 投票
1 回答
889 浏览

qt - 在 CLion 中使用 CMake 构建项目时,QQmlApplicationEngine 不接受正确的 QML

我用 Qt 5.9.1 和 qmake 编写并构建了非常简单的正确Qt QML 项目,运行良好。但是我想用 CLion 来编辑 c++ 代码,所以我创建了 CMake 项目配置,如互联网上许多教程中所述。构建进展顺利,但是当应用程序启动时,它会产生非常奇怪的 QQmlApplicationEngine 错误,就像我的 qml 写的完全错误:

这是我在 MacOS X 下的配置:(注意:我不是故意使用 QRC 的!)

CMakeLists.txt

主.cpp

main.qml位于可执行文件所在的同一目录中:

0 投票
1 回答
1612 浏览

c++ - 如何访问“QQuickItem”派生类中的“QQmlApplicationEngine”对象?

engine以下 a 的典型main函数中的变量QtApp是 的有效实例QQmlApplicationEngine

是否可以访问派生类QQmlApplicationEngine的函数内部的对象?QQuickItem如果是,如何?

请注意,TestItem注册在qml侧面并显示在主窗口上。我知道我可以通过QQmlApplicationEnginefrommain方法。但是,我有一种预感,因为 myTestItem是窗口的一部分并拥有上下文。应该有一种方法可以获取对象或指针QQmlApplicationEngine而不必从main方法传递?

目标:使用QQmlApplicationEngineI 可以访问QQuickItemmy中main.qml的 s :

所以为了做到这一点,我想要QQmlApplicationEngine. 如果有一种方法可以从一个内部访问其他QQuickItems,那么请提出建议。

0 投票
0 回答
503 浏览

qt - 如何从库中加载自定义 QQuickItem,以便它像应用程序中的其他 QQuickItems 一样注册和更新

我有一个MyQuickItem派生自QQuickItem以下的类

以下是MyQuickItem.qml.

需要注意的是,以上所有 C++ 和 qml 代码都在一个单独的静态库中。图书馆里有qrc一个MyQuickItem.qml。这个库也可以访问QQmlApplicationEngine应用程序的全局对象。

我的问题:如何从我的库中加载,以便它像应用程序中的其他 sMyQuickItem一样在 QML 中注册?QQuickItemmain.qml

在应用程序加载 main.qml 之后调用的 C++ 方法中,我正在我的库中尝试以下方式:

首先,我不知道如何链接QUrl(QStringLiteral("qrc:/qml/MyQuickItem.qml"))myItem指针。

其次,执行上述操作似乎无法MyQuickItem 正确加载,因为我没有接到updatePaintNode我已覆盖的呼叫。我需要Qt/QML窗口系统来调用我MyQuickItem::updatePaintNode的,因为我在那里有重要的逻辑。

那么,我怎样才能MyQuickItem从我的库中正确加载,以便它像其他QQuickItems 一样注册和更新?

0 投票
1 回答
1687 浏览

qt - 如何将动态创建的 QQuickitem 添加到我的应用程序的 main.qml 或 QML 项目列表

我需要动态创建一个QQuickitem& 添加到我的main.qml.

尝试这样做,我QQuickitem通过以下方式创建一个。

我可以访问QQmlApplicationEnginein main.cpp

问题:如何添加dynamic_quick_item到我的项目main.qml?我想从 C++ 端动态添加dynamic_quick_item到我的项目列表中。main.qml

它不需要添加到main.qml. 只想将 a 添加QQuickItem到 mymain.qml中定义的 QML 项目列表中,这与main.qml. 有没有可能的方法来实现这一点?

更新:执行以下操作应该获得QQuickItem我添加的有效实例。但它没有

我得到my_dynamic_quickitemnull 这意味着我创建的 QQuickItem 从未被添加

0 投票
1 回答
584 浏览

qt - 如何创建 QQuickItem 的单独副本并将其呈现在不同的窗口上

我有一个QQuickItem像这样从 C++ 端获取的。

my_item是有效的,并且设置了所有属性。

场景
我有2 个窗口需要QQuickItem交替绘制。我想把它渲染my_item到另一个窗口。只要我将父级设置my_item为另一个窗口,这一切都很好

这需要我setParentItem再次回到my_item的原始窗口,否则它在原始窗口上不可见。这是有效的,但给了我不必要的依赖。相反,我正在尝试创建QQuickItem& 的副本并setParentItem对其进行操作。通过这样复制:

问题:
但这似乎没有创建QQuickItem& 的副本,因此我没有看到my_itemon的副本the_other_window

问题:
我想知道的是,我怎样才能创建一个有效的副本 aQQuickItem到另一个指针QQuickItem * item_copy中并在另一个窗口上渲染它而不影响原始的可见性/状态QQuickItem