问题标签 [qt-quick]
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.
qt - 如何将 C++ 模型公开给 QML
我正在编写一个 QML+Qt 应用程序。我定义了一个这样的类:
rosterItemModel 模型是从 QAbstractListModel 派生的一个类。我使用这个函数将 MainClass 暴露给 qml 部分:
现在我想将此模型(m_rosterItemModel)从 MainClass 分配给 QML 中 ListView 的模型属性。我尝试了以下方法,但都没有帮助:(
- 我尝试使用 Q_PROPERTY 将 m_rosterItemModel 声明为 PROPERTY。我不能这样做,因为它说 QAbstractListModel 不可复制。
- 我尝试使用 MainClass 中的 Q_INVOKABLE 函数在 qml 文件中获取指向 m_rosterItemModel 的指针。但这也没有帮助。
有人可以帮助我吗?
qt - 当图像内容随 QDeclarativeImageProvider 更改时,图像元素不会更新
我有一个这样的列表视图元素:
在委托 Image 元素中,从QDeclarativeImageProvider获取其图像。但是当图像的内容发生变化时 myModel 不会更新。当图像的内容发生变化时,我怎么能注意到它重新加载图像。谢谢。
qt - 用于桌面应用程序的 QML Symbian 组件
是否也可以使用 QML symbian 组件进行桌面应用程序开发?我目前正在使用 Windows+Visual Studio Compiler + Qt 4.8.1 开发我的应用程序。但是我不能导入合理的 Symbian 组件。如果可以使用它们,我该如何获取和安装它们?提前致谢 !
c++ - QML 双向 C++ 绑定不再接收更改
我面临一个大问题,即需要很长时间才能修复,因为我不知道原因以及如何修复它。问题很简单:我有一个示例 QML 组件定义为:
我连接了一个 MouseArea onClicked 信号来执行此操作:
所以我切换布尔变量的值。为了使用 READ、WRITE 和 NOTIFY 信号将值从 C++ 推送到 QML 以及从 QML 推送到 C++ Q_PROPERTY,我使用了这个
在我单击 mouseArea 之前一切正常,因此我通过绑定推送更改。之后,每次我尝试从 C++ 设置新的属性值时,我都看不到 QML 有任何变化,就像绑定被破坏一样。但是,如果我尝试单击 MouseArea,我仍然会调用 C++ 类的 setTestProperty 方法。基本上,它与 C++ -> QML 方式不同步。为什么?我找不到问题,发出信号是因为 QSignalSpy 给我 1 作为使用后发出的次数
编辑
这里是一个例子:基本上我们在这里使用具有相同确切信号的 QString 属性。唯一改变的是,我没有使用 Rectangle QML 元素并绑定到自己的属性,而是使用了 TextInput 元素
qt - QtQuick 或 QGraphicsView
什么时候应该使用 QGraphicsView,什么时候 QtQuick 是更好的选择?
如果我想要具有高度自定义小部件(小部件及其行为的可视化)的高性能应用程序,哪个是更好的选择?
:?
c++ - 从 qml 编辑 QObject 属性
我正在编写一些类,它扩展了 QObject 并且几乎没有 Q_PROPERTY 我在 QList 中使用一个角色(总是返回 QObject* )的 QAbstaction 模型中使用它;在 QML 中,我会使用 TextEdit 绑定属性,例如:
但是此条目返回错误并且不绑定我的属性:
如何在 qml 中编辑我的 QObject 属性?
UPD:我property QtObject currentReport
在委托组件中使用
//对不起我的英语不好
qml - QML 是否值得用于运行在 600MHz 左右且没有 GPU 的嵌入式系统?
我计划构建一个嵌入式系统,它几乎就像一个组织者,即处理联系人、游戏、应用程序和 wifi/2G/3G 的互联网。我计划使用 QML 构建 UI,因为它易于使用且应用程序构建速度快。并拥有一个linux内核。但是在阅读了这些文章后:http: //qt-project.org/forums/viewthread/5820 & http://en.roolz.org/Blog/Entries/2010/10/29_Qt_QML_on_embedded_devices.html 我很沮丧并重新考虑我的想法使用 QML!我的硬件将采用以下配置:处理器大约 600MHz,RAM 128MB,没有 GPU。
请对此发表评论并建议我一些替代方案。提前致谢。
蓝调
qt - 将键盘快捷键分配给 QML 组件
我正在深入使用 QML 和 Qt Creator 构建桌面应用程序,我目前正在研究键盘处理以及它如何与 QML 元素一起使用。我已经意识到桌面小部件缺乏适当的 QML 替代品。
我当前的问题是我希望为某些特定的 QML 组件分配一些全局键盘快捷键(例如为 GUI 上的按钮分配键盘快捷键),这些组件应该可以激活它们。我能做到的最好的办法是使用 FocusScopes 和 Key Navigation 来通过键盘导航 GUI,但这不是一回事。
谁能建议在这种情况下该怎么做?Qt 5 有没有这样的功能?我在互联网上找不到任何关于此的信息。
qt - 如何在 QML 中定义带有子占位符的“模板”?
我真的很喜欢 QML。我喜欢如何定义组件(类似于类)及其属性,并从其他地方实例化它们(类似于对象)。
我可以定义,比如说,一个按钮,有一些外观和感觉,以及一个标签文本。例如,可以使用此组件定义 ( Button.qml
) 来完成此操作:
并在此主文件 ( ) 中实例化main.qml
:
但是我看到了以下限制:我只能定义一个带有一些属性的按钮模板,而不是一些占位符。实例中定义的所有孩子都将是直接孩子,至少在默认情况下,我想改变这种行为。
假设我想在按钮中放置一个项目(假设是一个图像,但我不想告诉Button
它将是一个图像的定义)。我想象这样的事情:
我怎样才能做到这一点?我不知道使用Component.onCompleted
是否正确。但是请注意,在我的情况下,内容之后永远不会改变(至少在我当前的应用程序设计中......)。
另外,我希望锚定在占位符内工作。例如,如果我将内容定义为 Text 元素,以它的父元素为中心(首先是模板本身)。然后我的代码将此 Text 实例移动到占位符中,然后父锚点应该是占位符项的那些,而不是模板项。
c++ - 如何从 C++ 类更改 QML 中属性的值
我在简单的 Qt Quick 中有这样的代码。我想从我的类中更改 qml 元素的属性值。
我的班级.h
我的类.cpp
主文件
main.qml
当我运行应用程序并单击按钮时,应用程序崩溃。我究竟做错了什么?