问题标签 [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.
qml - 在关闭 QQuickView 或 QApplication 之前询问确认
我试图在我的实例中MyApplication
从继承QApplication
或在我的WindowQML
实例中继承关闭事件QQuickView
。目标是在真正关闭应用程序之前要求确认退出。
在我的应用程序依赖于我在QMainWindow
哪里实现这样的closeEvent()
方法之前:
问题是我WindowQML
继承自的类QQuickView
永远不会在方法内部传递closeEvent()
。然后我尝试event()
像这样重载方法:
但这个事件也从未发生过。
我试图采取的下一条道路是MyApplication
像这样抓住关闭事件:
信号quitSignalReceived()
被正确发出,但事件没有被正确“阻止”,我的应用程序仍然关闭。
所以我有两个问题:
- 有没有办法检测
QQuickView
实例的关闭事件? - 如果不可能,这种
MyApplication::event()
方式是最好的行动方案吗?为什么我需要在event->ignore()
这里打电话?我原以为返回true
就足够了。
qt - Qt Quick 2 上的 QSplashScreen
我在新的 Qt Quick 2 项目上使用 QSplashScreen 时遇到问题。这是项目'main.cpp':
此代码编译。当我运行它时,应用程序输出显示以下消息:QWidget: Cannot create a QWidget without QApplication
. 所以显然 QGuiApplication 没有从 QApplication 继承,所以我很难过。
编辑:将 QGuiApplication 更改为 QApplication 似乎可行,但我担心 QApplication 会缺少 Qt Quick 2 所需的东西。
qt - Adding tabs dynamically in qml
I'm trying to dynamically create Tab
s in QML. The code below is a simple example of what I want to do.
Addition of the first Tab
works as expected. However, after that any other Tab
added triggers the error:
TypeError: Cannot set property 'color' of null`.
I tried to access the Tab
with getTab()
to change the color, but I get the same error. Can someone explain what am I doing wrong?
c++ - 在 Qt Quick 2 中嵌入 QWidget 对象
8 个月前有这样一个问题 - 如何将基于 qwidget 的对象嵌入到 QML,http: //doc.qt.digia.com/4.7/declarative-cppextensions-qwidgets.html Qt5。在 QML 中嵌入 QWidget 对象。情况有变化吗?或者对于一些复杂的应用,使用自己重新实现的paintEvent,我们只能使用经典的Qt?
qt - QML Video alpha-blending/rendering a video into a Qt Quick Scene Graph
我正在尝试使用 RGBA 中的视频在 QML 中获得 alpha 混合效果。
现在的问题是 QtMultimedia 提供的 Video Item 实际上在 QtQuick 场景中打开了一个覆盖窗口,所以我认为不可能将其他 QML 元素与 Video 元素进行 alpha 混合(我当然希望我错了,但是我找不到解决方案)。
因此,另一种方法是在 updatePaintNode 方法中自己在继承自 QQuickItem 的类中渲染视频。
有没有人见过这样的事情?如果 QtMultimedia 背后的人无法实现它,是否有可能?
我是否可以更改 MediaPlayer 元素的背景,可能是透明的,或者只是 QML 中的一种颜色?
到目前为止,我一直在考虑 QAbstractVideoSurface 和 QVideoFrame,但我不知道如何将其渲染到 QSG 上,甚至不知道 GeometryNode 应该如何查找视频。
最好的解决方案是与其他 QML 元素进行 alpha 混合,例如:
提前致谢!
qt - Qt5 和 Qt Quick 2 中的自定义实时绘图
我一直在广泛地寻找,如果可能的话,您可以如何使用 OpenGL 上下文填充 QML 屏幕中的特定区域,并仅在该上下文中执行自定义 OpenGL。我看过很多演示,其中 QML 组件(如按钮等)位于屏幕范围的 OpenGL 上下文的顶部或下方(游戏通常需要),但我希望能够在其中放置几个不同的 OpenGL 上下文QML 并让 QML 文件定义它们的大小、位置等。
现在,由于 Qt 5 在底层都是 OpenGL,这让我想知道使用 Canvas 元素和通过 javascript 进行自定义绘图是否会导致与自定义 OpenGL 相似的渲染性能?这将是一个有意义的替代方案,但与自定义 OpenGL 绘图相比,我不清楚如何通过运行时处理 javascript 绘图。
qt - 如何在 QtQuick 2.0 中创建滚动条?
我正在尝试在 QtQuick 2.0 中创建滚动条,
我发现该Scrollbar
组件在 QtQuick 1.0 中可用,但我在 QtQuick 2.0 中找不到这样的组件。如何ListView
在 QtQuick 2.0 中创建滚动条?
有什么帮助吗?提前致谢。
c++ - 在 Qt 5.0.x 中测试 QQuickView (QWindow) 是否全屏
对于 aQWidget
我们可以测试它是否全屏显示flags() & Qt::WindowFullScreen
。与往常一样,这似乎不适用于QQuickView
(这是 a QQuickWindow
which 是 a QWindow
),无论原因是什么。我使用以下代码显示窗口:QWindow::flags()
Qt::WindowMinimized
在 Qt 5.1 中,QWindow::visibility()
被引入。它返回一个新的枚举类型,它包含QWindow::FullScreen
并且行为正确。
如何测试 a是否在 Qt 5.0.xQWindow
中全屏显示?我想实现一个“切换全屏”功能。跟踪当前状态似乎是错误的方式(但它可能是一种解决方法)。不明白为什么要退货...QWindow::flags()
Qt::WindowMinimized
重现问题RETURN的代码(按查看输出QWindow::flags()
):
测试.qml
主文件
test.pro
c++ - 透明QQuickView
我试图制作一个透明的 QQuickView 并将其与我自己的用户界面渲染引擎一起使用,但是我发现不支持透明 QQuickViews(在 Windows 7 上)。Qt 是否有充分的理由不为 Windows 7 上的 QWindows 提供支持透明度?
qt - 将元素动态添加到 QML 中的 SplitView
我正在使用 QML,我想动态地将元素添加到 SplitView,例如。onMouseClick,但到目前为止我还没有找到答案。
到目前为止,我发现SplitView
它的默认属性设置为它的第一个孩子的data
属性。所以我想我应该尝试添加新的动态创建的组件,并将父级设置为该子级(splitView1.children[0]
)。不幸的是,这也不起作用。更重要的是,在组件完成加载后,第一个孩子的孩子数量为零(似乎 SplitLayout 的 Component.onCompleted 事件调用了一个将这些孩子移动到其他地方的函数)。因此,添加的子项不会呈现(并且不会响应任何 Layout 附加属性)。
请看下面的代码片段:
有什么方法可以使动态创建的组件在SplitView
静态添加的组件中正确呈现?