问题标签 [qtquick2]

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 回答
740 浏览

qt5 - 使用 QtQuick 播放视频

我想在 qt 快速应用程序的背景中渲染来自网络摄像头的视频。我使用 5.1.1 文档中的这段代码来渲染测试视频:

我没有 QtQuick 经验,即使示例(未修改)也无法正常工作,这会令人沮丧:

怎么了?

0 投票
3 回答
11450 浏览

window - 如何使 QtQuick2.0 应用程序窗口无法调整大小?

我有一个 QtQuick2.0/QtQuick2.1 应用程序,上面有以下默认代码main.cpp

我怎样才能使这个窗口不能调整大小?

0 投票
2 回答
2624 浏览

opengl - 从 QOpenGLContext 获取 OpenGL (WGL) 上下文

我正在尝试从 QQuickView 窗口获取 OpenGL 上下文(HGLRC)。我需要将它传递给非 Qt 库。我可以很容易地得到一个 QOpenGLContext :

如何从 Qt 类中获取 OpenGL 上下文?(QOpenGL上下文)

0 投票
5 回答
23298 浏览

qt - 如何使用 Qt Quick Controls 显示消息框?

QMessageBox::information()当一个人希望使用 Qt Quick Controls 编写 QML 应用程序时,这相当于什么?

0 投票
1 回答
1100 浏览

qt - 顶点着色器在 QQuickItem 中创建和动画几何体

我正在阅读有关此 Qt 错误报告的评论:

https://bugreports.qt-project.org/browse/QTBUG-32741

该错误报告建议使用顶点着色器QSGGeometry和 C++ 中的动画。我知道 QML 方面支持着色器,但是如何从QSGGeometry通过 C++ 子类处理的材质访问着色器QQuickItem(正如我解释错误报告所建议的那样)?据我所知,QML 中访问的顶点着色器通常用于变形现有几何体,而不是真正用于创建新几何体或动画几何体。

或者报告是否建议完全绕过 QML 来完成这项任务?

将数据传递给顶点着色器以进行原始绘图并将 GL 视口作为快速项会非常酷,但我认为 QML 着色器不是为此而设计的。

0 投票
1 回答
1343 浏览

qt - 处理 QQuickItem 子类中的窗口更改信号

我正在查看一些子类 QQuickItem 的演示源代码。构造函数有这个:

我无法弄清楚这个windowChanged信号来自哪里。它显示为从任何地方发出,this但这个子类或QQuickItem类都没有列出这个函数。这是什么意思?

handleWindowChanged在这个子类中实现了,但是不知道信号windowChanged是从哪里来的。这是 Qt 环境中其他地方生成的信号吗?这不是this表明它应该从这个子类或其基类发出吗?

0 投票
1 回答
5995 浏览

qt - 处理 QQuickItem 上的鼠标事件

我创建了一个基本的 QML 应用程序,它使用 QQuickView 创建视图,并在其中包含自定义 QQuickItems。我想通过重新实现mousepressevent (QEvent *) 方法来处理一个这样的 QQuickItem 上的鼠标事件。但是,当我运行应用程序并单击 QQuickItem 时,不会调用 mousepressevent (QEvent *)方法。

QQuickItem 的头文件如下所示:

注意:我正在使用场景图来渲染 QuickItem。

这是来自 cpp 文件的片段:

我可以处理来自应用程序的鼠标事件,但根据我的要求,我需要通过覆盖方法 mousePressEvent (QMouseEvent *event) 来处理

0 投票
4 回答
9012 浏览

qt - QtQuick2拖动无框窗口

我正在寻找一种在 QtQuick2 中拖动无框窗口的方法。我在论坛链接上关注了这个帖子,但它给了我一个错误。

代码的主要区别在于我的代码使用QtQuick2ApplicationViewer了代替,QmlApplicationViewer并且看起来QtQuick2ApplicationViewer没有“.pos”属性。

这是我的 main.cpp

这是我的 main.qml 的一部分

当我尝试拖动窗口时,出现此错误:

TypeError:无法读取未定义的属性“x”

有任何想法吗 ?甚至可以使用 QtQuick2 吗?感谢帮助!

0 投票
1 回答
2748 浏览

qt - Q_Property 通知信号何时被调用?

在这:

Q_PROPERTY(QString datastring READ showdata() NOTIFY datastringChanged)

信号是datastringChanged为了在 QML 端为属性分配新的东西时发出信号datastring,还是在 C++ 端需要通知 QML 端时发出信号showdata(),因为它已经更新了信息,所以应该再次检查?

0 投票
1 回答
1720 浏览

qt - 无法将我的 Quick 2 应用程序部署到未安装 Qt 的 Windows 系统

我正在使用带有 Visual Studio 编译器的 Qt 5。我有一个带有 c++ 后端的 Quick 2 应用程序。

我已经将我的 exe、一堆 dll 文件和Qt 中的所有插件捆绑到一个文件夹中。当我在安装了 Qt 但 Qt Creator 关闭的系统上运行此文件夹中的 exe 时,它​​运行良好。当我在没有安装 Qt 的系统上运行它时,它不会崩溃,但它只是打开一个全白的 1 英寸方形小窗口,没有别的。

我正在为 QML 使用 Qt 资源文件,因此没有独立的 QML 文件可能会被 exe 遗漏。同样,它在带有 Qt 的系统上运行良好,那么我还能缺少什么?Dependency walker 没有报告任何问题。

这是我的应用程序目录中的内容:

在此处输入图像描述

我已经看了好几个小时了,我无法理解我必须缺少什么(或者为什么 Windows 部署对 Qt 如此具有挑战性)。