问题标签 [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.
android - Qt 5.1 Android 程序不发送按键
我正在为 Android 的 Qt 5.1 和 Qt Quick 2.0 创建一个程序,但我的手机似乎没有发送按键。当我在桌面上运行相同的代码时,它可以工作,所以焦点似乎没问题。
Keys.onPressed 和 Keys.onBackPressed 都不起作用,返回键只是关闭程序。我正在通过 ADB 在 Android 4.2 设备上进行调试。
主.qml
提前致谢
qt - QML - MouseArea/MouseEvent 问题
以下代码生成一个白色矩形,其中包含一个红色矩形和一个灰色矩形。每个矩形都有一个关联的 MouseArea。当鼠标在其中单击时,灰色矩形变为蓝色。当鼠标光标进入其中时,红色矩形会打印一条控制台消息,并在发出释放信号时打印另一条消息。
我想:
- 在灰色矩形内按住鼠标按钮(变为蓝色)
- 将光标移到灰色/蓝色矩形之外,然后移到红色矩形内,而不释放按钮并捕获红色矩形的输入信号
- 释放光标在红色矩形内的按钮并捕获红色矩形的释放信号。
是否可以?使用当前代码,只有在进入时没有按下 mopuse 按钮时才会发出红色矩形的输入信号,并且只有在该矩形内按下按钮时才会发出释放信号。显然,问题在于如果在那里按下按钮,灰色/蓝色矩形将控制鼠标事件。
这与我正在开发的应用程序中的场景类似,但经过了简化。
}
c++ - 如何更改 QtQuick 2 窗口的标题?
我正在尝试更改我的项目的默认窗口,但它不起作用。我正在使用 QtQuick 2.0。尝试导入 QtQuick.Window 2.0 并将 Window{} 作为根对象而不是 Rectangle{} 但它不允许将窗口对象作为根。它给了我以下错误:
关于如何更改窗口标题的任何想法?我正在使用 Qt 5.1.1。
qml - 使用自定义 ComboBoxStyle 将 ComboBox 元素中的标签居中
我正在使用QtQuick.Controls 1.0
并且QtQuick.Controls.Styles 1.0
我找不到正确对齐ComboBox
垂直和右侧标签的方法。
这是我当前的代码
但是标签停留在我的元素的左上角,似乎不受锚点的影响。我也尝试parent
用control
或background
没有效果替换
qt - 从 QAbstractListModel 中删除行
我有一个从 QAbstractListModel 派生的自定义模型,它暴露给 QML。我需要支持添加新项目和删除现有项目的操作。虽然插入操作没有任何问题,但删除操作会导致应用程序在调用 endRemoveRows() 函数时崩溃。
GPage 类派生自 QObject。在尝试调用 endRemoveRows() 时,试图找出导致应用程序崩溃的原因让我感到震惊。当调用 endRemoveRows() 时,我得到“QList::at:“索引超出范围”中的 ASSERT 失败”。如何从 QAbsracListModel 中删除行?还有其他方法吗?
我在 Windows 7 64 位机器上使用 Qt 5.1.0。
opengl - Qt Quick 跨平台应用程序中的 OpenGL
我正在尝试开发一个跨平台(或至少桌面+嵌入式硬件)应用程序。我想使用 Qt Quick 创建一个触摸友好的 GUI。我已经实现了一个带有显示数据的 QGLWidget 的经典应用程序。重要的是只有窗口的一部分在 OpenGL 中。因此,EGLFS 和 LinuxFB 存在问题。只有 X11(或者可能是 Wayland)可以正确显示应用程序(其他会生成一些关于缺少 setParent 函数的错误,并且整个屏幕都是黑色的)。现在我正试图在 QML 中实现同样的目标。我想将此 OpenGL 渲染器用作我的 QML 应用程序的一部分,以及它周围的一些 Qt Quick 小部件。我发现有几个人问同样的事情,答案总是继承 QDeclarativeItem 并打电话给画家 s beginNativePainting() (其他人说通过 QDeclarativeItem 导出它,但我不知道如何做到这一点)。问题是在桌面上,Qt 5.11 原生画家不是 OpenGL。而且在QT5中没有办法强制使用OpenGL图形系统。因此,当我尝试获取 OpenGL 上下文 (QGLContext::currentContext()) 时,我总是得到 NULL。另一个问题:如果我用 qmlRegisterType("Test", 1, 0, "Test"); 导出我的小部件 它仅在我使用 QDeclarativeView 时才可见,但随后看不到 Qt Quick。如果我使用 QQuickView,它会说未安装模块“测试”。我怎样才能正确实施呢?因此,当我尝试获取 OpenGL 上下文 (QGLContext::currentContext()) 时,我总是得到 NULL。另一个问题:如果我用 qmlRegisterType("Test", 1, 0, "Test"); 导出我的小部件 它仅在我使用 QDeclarativeView 时才可见,但随后看不到 Qt Quick。如果我使用 QQuickView,它会说未安装模块“测试”。我怎样才能正确实施呢?因此,当我尝试获取 OpenGL 上下文 (QGLContext::currentContext()) 时,我总是得到 NULL。另一个问题:如果我用 qmlRegisterType("Test", 1, 0, "Test"); 导出我的小部件 它仅在我使用 QDeclarativeView 时才可见,但随后看不到 Qt Quick。如果我使用 QQuickView,它会说未安装模块“测试”。我怎样才能正确实施呢?
qt - QML 状态不会在 C++ 信号上改变
我正在努力理解 QML 状态概念。
我有以下代码:
我的意图是单击“myBtn1”时,该按钮应该消失,“myBtn2”应该出现。因此,我使用所描述的状态,并且到目前为止它有效!状态发生变化,带有“再见”标签的按钮可见。
在下一步中,单击按钮“myBtn2”调用“myCppObject”的函数“coolFunction”,其唯一目的是发出一个名为“coolSignal”的信号——这也有效!我的问题是我确实在控制台中得到了预期的输出,就像:
但是“myBtn1”保持隐藏状态,“myBtn2”保持可见!!!所以状态并没有真正改变!!!我对 QML 中的状态不了解的任何想法?
顺便说一句:如果我更改myBtn2.onClick
为myRectangle.state = "init";
状态转换工作!!!但我真的需要它发生在自定义 C++ 信号上!
感谢您提前提供任何帮助。
编辑:我忘了说我不使用写在 main.qml 顶部的源代码。它位于一个名为 MyElem.qml 的额外 QML 文件中,该文件用作列表视图的委托元素。这意味着在运行时加载了多个 MyElem,并且它们都具有相同的 id (myRectangle)。这就是我没有看到任何视觉变化的原因吗?
qt - WebView with QtQuick2
I can't seem to get a WebView working with QtQuick 2. The error is
objc[71279]: Class QNSListener is implemented in both /Qt5.1.1/5.1.1/clang_64/plugins/bearer/libqcorewlanbearer.dylib and /Qt5.1.1/5.1.1/clang_64/plugins/bearer/libqcorewlanbearer_debug.dylib. One of the two will be used. Which one is undefined.
I'm compiling on 64-bit Mac OSX running 10.8.4.
The QML is:
I've also included QT += widgets network webkit webkitwidgets
adn CONFIG += x86
in the PRO file.
Can't quite work out what is happening. The webview doesn't show at all.
qt - QML:获取 QObject 父级
QML 从可视树(QtQuick 场景图)中引入了一个单独的所有权 ( QObject
) 树。
parent
返回视觉父级。children
返回视觉孩子。data
返回QObject
孩子们。
但是我如何访问QObject
父级?
仅供参考,我打算动态创建和销毁包含自定义类型的嵌套布局,因此我需要管理QObject
树 - 仅使用可视树将导致“错误”对象在重新设置父级然后删除后消失。