问题标签 [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 投票
2 回答
6540 浏览

c++ - 如何更改 QtQuick 2 窗口的标题?

我正在尝试更改我的项目的默认窗口,但它不起作用。我正在使用 QtQuick 2.0。尝试导入 QtQuick.Window 2.0 并将 Window{} 作为根对象而不是 Rectangle{} 但它不允许将窗口对象作为根。它给了我以下错误:

关于如何更改窗口标题的任何想法?我正在使用 Qt 5.1.1。

0 投票
1 回答
1538 浏览

qt - 退出时删除 QQuickView 会导致 Qt 应用程序冻结

我在 Qt 5.3 中建立了一个死锁。如何正确修复?没有丑陋的修复(不要删除 qquickview *)

我有一个带有指向QQuickView. 当我需要关闭我的应用程序时,我会调用QGuiApplication::quit()并尝试QQuickView *在 singlenot 的析构函数中释放。结果 - 应用程序冻结。

样本:

测试.qml

主文件

PS C++0x 用于简化代码。C++03 编译器的结果相同。

0 投票
1 回答
4638 浏览

c++ - Qt5 QuickView 无法创建窗口:没有可用的屏幕

每当我尝试运行以下代码时,都会收到此错误(标题,如下):

无法创建窗口:没有可用的屏幕

程序意外结束。

对于该错误,我可以在网上找到的所有错误报告都是由特定条件引起的,比上述情况要复杂得多。

app.qml是一个单独运行良好的文件,即没有上述 C++ 并且在配置为“Qt Quick UI”的单独项目中。给出它的qrc://路径,或者故意指定一个不存在的文件没有效果。

请注意QObject*演员表 - 这在docs中不存在,但没有它:

/main.cpp:11:错误:无法使用“QQuickItem *”类型的右值初始化“QObject *”类型的变量

这应该怎么做?

0 投票
1 回答
1545 浏览

c++ - 在 Qt5.3(mingw32) 中删除 QQuickView 的内存管理问题

我们正在使用 Qt/Qml 开发一个应用程序(Qml 嵌入在 QWidget 中)。删除包含 QQuickView(嵌入式)的 QWidget 时,不会完全释放分配的内存。

通过向应用程序添加 QWidget,将分配大约 30MB 的内存,但当小部件删除时,将仅释放大约 20MB 的内存。

在 QWidget 的析构函数中,我已经删除了 QQuickView 实例,并且没有其他大对象。

另外,我很确定 QQuickView 没有正确释放内存。

如何释放 QQuickView 分配的整个内存?

注意:代码非常大(160000 行),因此我不能放示例代码。

提前致谢...

0 投票
0 回答
112 浏览

opengl - 从 qml 5.3 中的 QQuickView 获取 HGLRC

如何在 qml 5.3 应用程序中从 QQuickView 获取 HGLRC?

我在 windows 中有一个关于 openGL 的程序,我想渲染到我的QQuickView. 问题是我不想在openGL渲染过程中触摸渲染过程。所以,首先我想创建QQuickView然后从中获取 HGLRC 并按wglMakeCurrent(...)函数将其设置为 openGl prog。

0 投票
1 回答
1428 浏览

python - 如何更改 QQuickView 的来源

我正在开发游戏,它是用 qml 和 pyqt 编写的,但应该分为两个窗口(启动器 + 游戏)。在这两个 qml 文件之间切换的正确方法是什么?我不想使用 QmlLoader,因为它不会调整窗口大小而且它需要很多信号!我也在尝试这个变体:

但它没有工作(qml 窗口停止工作...... -经典窗口错误,但是在 pycharm 控制台中没有写入错误)

我的代码如下所示:

如您所见,我的结构有点混乱,因为我是第一次做这种切换行为,所以我真的不知道应该如何正确地做......欢迎每一个建议!:)

0 投票
2 回答
1137 浏览

qt - QQuickWidget 中的 MultiPointTouchArea 行为

我试图让 MultiPointTouchArea 在 QQuickWidget 中正常工作。考虑以下示例 qml 文件 (MultiPointTouchTest.qml):

在 main.cpp 文件中,这里我使用 QQuickWidget 或 QQuickView,如下所示:

或者

MultiPointTouchArea 的打印是不同的信息,用于以下顺序操作:

  1. 把我的第一根手指放在触摸屏上
  2. 将我的第二根手指放在触摸屏上;第一次手指触摸无效,暂时不重要。
  3. 移开我的第二根手指;控制台打印 ---onCanceled---...,第一根手指触摸仍然无效,并且 touch1.pressed 为假。

使用 QQuickView 不会发生这种奇怪的行为。

Qt 的文档说取消信号,“当新的触摸事件被取消时发出这个信号,因为另一个项目偷走了触摸事件处理。”

搜索后我不知道文档的意思。

我尝试阅读源代码以了解触摸屏时会发生什么,但我喜欢 QQuickWidget::event() 将触摸事件(TouchBegin...)发送到 QQuickWindow,并且 QQuickView::event = QQuickWindow,没有重新实现.

那么,Qt 文档的真正含义是什么?

我需要 QQuickWidget 而不是 QQuickView 所以,如何将 MultiPointTouchArea 与 QQuickWidget 一起使用并获得正确的预期行为?

0 投票
1 回答
1420 浏览

qt - 将 QML(QQuickView) 添加到现有 UI

目前,我正在开发一个需要集成到 C++ Visual Studio 项目中的 Qt 类。

Qt 项目 - Qt 小部件应用程序。在 Qt Creator 3.2.1(开源)上构建,基于 Qt 5.3.2。使用 Visual Studio 2013 Professional,安装了 Qt Addin。

我尝试了来自互联网各地或其他 Stack 帖子的解决方案,但没有成功。我不认为我的帖子是重复的,因为其他帖子没有解决我的问题。

我能够从代码运行 QML,但它在不同的窗口上启动。在第一张图片中,QML 窗口(Qt 画布)显示在我的程序 UI 上。

QML 在单独的窗口中

我需要将 QML 集成到我的程序 UI 中。QGraphicsView如果有帮助,我可以使用。

程序界面

简单的 QML 示例。canvas.qml

0 投票
1 回答
11946 浏览

qt - 单个项目中的多个窗口

我的项目需要Window在一个屏幕上显示两个 QML (一个发送者,一个接收者)。这两个都.qml需要我在里面包含一些 Cpp 模型,因此我QQmlApplicationEngine用来注册 Cpp 模型。

我发现使用QWidget::createWindowContainer()我可以Window为单个项目显示多个 s。这对于第一个 QML 文件非常有效。代码片段如下所示:

receive.qml我决定用类似的方法为我创建第二个应用程序引擎。我很快意识到,receive.qml即使使用container2->show(). 现在,它显示一个空白页面。

我的问题是:

  1. 我的方法是正确的还是有更好的解决方案?
  2. 我需要注意什么信号来捕捉窗口关闭事件?当其中一个窗口关闭时,我似乎无法检测到信号。因为我想在检测到一个时关闭两者。
0 投票
1 回答
2203 浏览

qt - 如何使用 QtQuick ListView 在 onCurrentItemChanged 中获取模型

我像这样使用列表视图:


我想得到属于currentItemin的模型部分onCurrentItemChanged
例如:
model

所以应该有3个项目。
如果我点击第二个,我可以得到ListElement哪个 uuid 是 bbbb。

有什么办法吗?