问题标签 [qquickitem]

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

qt - 如何在 QML 中制作可调整大小的矩形?

我正在寻找一种简单的方法来在QQuickItem. 我想调整大小,并像这样拖动这个矩形的边框(在resizableQRubberBand找到)

在此处输入图像描述

有人有想法吗?

0 投票
2 回答
1649 浏览

qt - 如何在 QQuickItem 中绘制文本

我一直在互联网上搜索如何在 QQuickItem 上绘制或渲染文本,但无济于事。我选择不使用使用 QPainter paint() 函数的 QQuickPaintedItem。除此之外,iOS 视网膜显示设备上还有一个已知的 QQuickPaintedItem 问题,其中显示模糊且边缘不清晰。

请就此提出任何可能的解决方法。

0 投票
1 回答
860 浏览

qt - 有效地从 QPaintDevice 到 QQuickItem 中的 QSGTexture

我的自定义 QQuickItem 目前执行以下操作

  1. 创建一个 QSGNode 子类 QSGSimpleTextureNode
  2. 在节点预处理函数中,创建一个 QOpenGLFramebufferObject 来绘制
  3. 使用 QPainter 在 QOpenGLFramebufferObject 上绘制
  4. 将 QOpenGLFramebufferObject 的内容显示为节点内容

我将 FBO 转换为可以在 QSGSimpleTextureNode 上设置的 QSGTexture 的过程如下。

这似乎非常低效,即使具有相对合理大小的 FBO,应用程序也开始变得真正框架化。

我的问题如下。

  1. 有没有更简单的方法将 FBO 放入 QSGTexture?
  2. 我应该使用更好的 QPaintDevice 兼容项目而不是 QOpenGLFramebufferObject 吗?
  3. 我应该扩展一个比 QSGSimpleTextureNode 更好的子类来做我想做的事吗?

谢谢!

0 投票
1 回答
2203 浏览

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

我像这样使用列表视图:


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

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

有什么办法吗?

0 投票
1 回答
818 浏览

qt - QQuickItem 类的 boundingRect 从哪里得到它的值?

http://doc.qt.io/qt-5/qquickitem.html

我检查了“列出所有成员”列表,在那里找不到: http: //doc.qt.io/qt-5/qquickitem-members.html

0 投票
1 回答
637 浏览

c++ - C++ 和 QML 中的 QT QML 项

我的目标是在 qml 文件中描述一个 qml 项目,然后使用相应的 C++ 类添加到该项目的可视化表示中。

我知道可以描述一个 qml 项目并在 qml 文件中使用它,并通过信号/插槽从 c++ 与它进行通信。

我也知道可以使用 QQuickPaintedItem 在 C++ 中描述一个 qml 项目,并在 qml 文件中使用它(通过注册机制使其可用)。还有其他方法吗?

那么,实际的问题是可以将两者结合在一个项目中吗?所以,我想要一个 qml 项目一个 c++ 类绘制相同的区域,例如我在 c++ 中有特定的 OpenGL 代码和一个在 qml 中定义的带有 MouseArea 的常用矩形框。

0 投票
2 回答
1157 浏览

opengl - QtQuick 自定义 OpenGL 渲染

我正在使用带有自定义 OpenGL 渲染器的 QtQuick(从 QtQuick 的角度自定义,因为它只是OpenSceneGraph)。为此,我创建了一个继承自QQuickFramebufferObject的自定义QQuickItem ,然后创建了一个继承自QQuickFramebufferObject ::createRenderer()中的QQuickFramebufferObject::Renderer的自定义渲染器。这是有据可查的,这些步骤没有问题。

现在发生的情况是,为了以后访问,在QQuickFramebufferObject::createRenderer()中创建的渲染器实际上是缓存的(它实际上是在QQuickFramebufferObject构造函数中实例化并简单地在QQuickFramebufferObject::createRenderer()中返回。这工作正常,我可以看不到直接的其他编码方式,因为创建的渲染器稍后用于对诸如geometryChangedmousePressEvent 之类的事件做出反应,例如

,其中 OsgItem 是我的自定义QQuickFramebufferObjectm_renderer是我的自定义QQuickFramebufferObject::Renderer

问题是createRenderer()是 const (这并不是真正的缓存东西的邀请),并且这篇论文明确指出不应该缓存渲染器 - (尽管官方文档中没有说明)。

这里有什么问题?有什么我错过的吗?你能看到我可以编码的另一种干净的方式吗?

0 投票
0 回答
193 浏览

qt - 类没有成员名称“setAttribute”

我有一个显示地图的类,因此必须从QQuickItem. 我希望将捏缩放功能集成到地图显示类中,但是不可能setAttribute(Qt::WA_AcceptTouchEvents)

然后我将 QWidget 添加为要继承的类,但当然与 QObject 存在冲突。

有人知道我还能如何将捏缩放功能集成到我的课堂中吗?QQuickItem但是无法删除,否则地图显示的重组将是巨大的。

0 投票
1 回答
2978 浏览

c++ - 在自定义形状后剪辑自定义 qml 项的子项

我有一个我创建的自定义QQuickItem,我想创建一个圆角窗口。所以我实现了 aQQuickPaintedItem并导出到QML. 问题是该项目的子项正在通过该项目的边界矩形扩展,该矩形是一个矩形,而不是我想要的圆角矩形。这是它的外观:

在此处输入图像描述

这是我的代码:

main.qml

主文件

我的自定义窗口.h

我的自定义窗口.cpp

我想要的是 childRectangle被我的自定义形状剪裁(在这种情况下是圆角矩形。像这样的东西:

在此处输入图像描述

是否有可能实现这样的目标QML

0 投票
2 回答
306 浏览

ios - 无需登录即可在 Google+ 上分享文本、图片和网址

我想在 Google+ 上与 Url 共享图片,而无需登录我的 iOS 应用程序。

我用过 :

我不知道如何使用相同的方法发送图像..