问题标签 [qquickview]

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 投票
1 回答
1309 浏览

c++ - Qml/Qt/C++:Widget 中的 QQuickView,无法正确定位

我正在使用 QT5.5 实现一个简单的程序,其中包含一个 HTML 窗口(QWebview),如下图所示:

右侧的 HTML 窗口

现在我希望该程序也安装在 iOS 上,例如 iPad。我发现 QWebview 类不适用于移动系统,所以我不得不将我的 HTML 窗口更改为带有 QML 文件的 QQuickView(或者有更好的方法吗?)。我在网上找到了以下代码:

然后我将容器添加到主窗口。webview.qml:

但不知何故,我无法正确布局。 iOS 上的 HTML 窗口 容器后面有一个空白/白色的矩形,并且容器也不在它应该在的右侧的 HTML 窗口中。当我在 qml 文件中更改矩形的宽度和高度时,它只会更改 webview 的大小,而不是白色背景。

谁能告诉我,我怎样才能做到这一点?我也用过container->setParent(),但视图总是在左边。

0 投票
2 回答
911 浏览

c++ - 无框QQuickView(QtQuick2)中的Qml动画闪烁

主文件

qml文件:

透明背景闪烁,但只有动画。这个例子很基础,那有什么问题呢?

0 投票
1 回答
1789 浏览

c++ - Use QQuickView or QQmlApplicationEngine to switch between pages from ApplicationWindow

I'd like to use an ApplicationWindow as a main file and be able to switch to other QML files from C++ with QQuickView::setSource(const QUrl & url). Basically it would do this:

start-up => loads main.qml (ApplicationWindow) => click on help button => C++ loads help.qml file => etc.

main.qml

(I am wondering if the Loader here is really necessary here)

However QQuickView only supports loading of root objects that derive from QQuickItem. Therefore it doesn't work with ApplicationWindow.

I'm thinking about using QQmlApplicationEngine instead of QQuickView but the usage seems different, this class being only equipped with QQmlApplicationEngine::load(const QUrl & url)

What would be the best course of action for my purpose? Do I really need an ApplicationWindow in my main.qml file?

0 投票
0 回答
58 浏览

qt - JAWS 阅读器读取 Qt 应用程序标题三遍

我有一个使用 Qt 5.6 创建的 Qt 应用程序。我已经使用 QQuickView setTitle() 函数设置了应用程序的标题。

标题设置正确,但是当我使用 JAWS 屏幕阅读器时,在应用程序启动时,标题被读取了三遍。

我能做些什么来解决这个问题?

这是我为应用设置标题的方法

0 投票
0 回答
449 浏览

qt - 加载 QQuickView 时防止闪烁

我有一个添加QStackedLayout了两个QWidget对象的对象。第二个QWidget是这样创建的:

现在我希望能够显示和隐藏第二个(顶部)小部件。我通过调用m_qmlWidget->setVisible(false);或执行此操作,m_qmlWidget->setVisible(true);但每当我这样做时,小部件都被涂成整个空白(白色),并且在它将背景更改为透明颜色后不久。这对我来说是个问题,因为第一个小部件大部分是黑色的。我认为问题的原因是正在加载 QML 文件并阻止重绘事件。我想到的两个解决方案是:

  • 异步加载 QML 文件
  • 不可见时不要卸载第二个小部件

恐怕这两种选择都是不可能的。如何解决闪烁的白色背景的问题?

当我visible将第二个更改QWidget为真或假时会发生闪烁。我不明白为什么在隐藏顶部小部件时会发生闪烁。


在这里您可以找到一个工作示例项目。也许QOpenGLWidget对象是这里的问题。创建两个小部件似乎没有产生问题。

0 投票
1 回答
1236 浏览

qt - 如何将 QML 视图嵌入到本机窗口中

我在尝试将 QML 视图插入本机 OSX 窗口时遇到问题。我知道这是可能的,但我不知道我做错了什么。

基本上,我的目标是,给定一个原生 NSView*,然后嵌入一个基于 QML 的小部件。问题是我让它指出它确实在视图内渲染了 qml,但它在侧面创建了一个额外的透明窗口,并且它似乎没有正确重绘 QML 视图。

这是我正在使用的代码(请忽略所有内存泄漏):

这是简单的qml:

0 投票
2 回答
15088 浏览

qt - QQmlApplicationEngine 和 QQuickView 有什么区别?

我使用QQmlApplicationEngine如下:

但是现在我想为我的应用启用多重采样,并且QQmlApplicationEngine似乎没有setFormat启用多重采样的方法。

QQmlApplicationEngine 在论坛中找到了一种方法:

但它依赖于引擎的第一个根对象 a QQuickWindow,这在 Qt 文档中没有记录。所以我不想使用那种技术。

另一种方法是跳过QQmlApplicationEngine并创建一个QQuickView。这确实有一种setFormat方法可以让我启用多重采样,但我想知道,切换QQmlApplicationEngine到是否会丢失任何东西QQuickView

换句话说,这两个类之间有什么区别?

我发现的一个区别是(从这里):

与 QQuickView 不同,QQmlApplicationEngine 不会自动创建根窗口。如果您使用 Qt Quick 中的可视项目,则需要将它们放置在 Window 内。

这种特殊的差异对我来说并不重要。

还有其他区别吗?

0 投票
1 回答
1522 浏览

qml - QQuickView (QML) 对鼠标事件透明

我有一个大矩形,按钮居中。我希望我的矩形对鼠标事件是透明的,除了按钮,它必须是可点击的。我的意思是,我希望能够用鼠标选择矩形下的代码,就像没有显示矩形一样。

我为所有大矩形添加了一个 MouseArea,试图忽略鼠标事件,但它不起作用。

我读到'Qt :: WA_TransparentForMouseEvents'用于此目的,但据我所知,在Qt窗口中,在我的情况下不可用。

提前致谢

我的 QML 是从 main.cpp 加载的:

MyRect.qml:

0 投票
1 回答
784 浏览

qt-quick - QQuickView 和 QQuickItem 有什么区别?

我想继承 QQuickItem 而不是 QQuickView 来使用 QQuick 类在 C++ 中编写接口。根据 Qt 文档中提供的解释,我了解 QQuickView 加载 qml。 QQuickView 用于将可显示的 QML 对象集成到应用程序的用户界面中。 QQuickItem 就像 QWidget (我可能在这里错了)。 QQuickItem 类提供了 Qt Quick 中所有可视项目中最基本的。 有人可以详细说明吗?

提前致谢

0 投票
1 回答
1028 浏览

c++ - QQuickView 内容未正确调整大小

我正在尝试在 QWidget 中嵌入 QMLview。我设法在主窗口中显示视图没有任何问题,但是每当我调整它的大小时,qml 视图都不会更新。

查看未正确调整大小

这是绘制该视图的代码

主窗口.cpp

main.qml

我还尝试使用 setLayout 函数放置容器,但没有成功。