问题标签 [qqmlcomponent]
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 - 发送信号后如何刷新qml中的组合框
基本上,我在 qml 中有一个组合框,我使用 QStringList 填充。但是,我无法刷新组合框(重新加载)以显示列表已更改。我考虑过使用 Loader 来做到这一点,但我无法弄清楚。有人可以指导我如何做到这一点。
网络.qml
网络.h
网络.cpp
如何重新加载 row2 的组合框以刷新列表?它只在开始时获取列表,但我想在发出信号 updateNetworks() 时更新下拉列表(组合框)。我尝试使用 Loader 并将它的 source.Component 设置为 row2 的 id,但我不断收到错误“错误:无法将 QObject* 分配给 QQmlComponent”。有什么帮助吗?
qt - qml 对多个对象使用相同的矩形组件
我试图通过调用相同的矩形组件并仅更改必填字段并保持其余字段相同来减小 qml 文件的大小。
下面显示的部分正在工作,但想要减小尺寸。
基本上,我不想制作湿气矩形。我想使用温度矩形并修改说“x”值,内部连接只修改“路径”。如果是的话,那有可能吗?谢谢你 !!!
qqmlcomponent - QML如何通过单击listView代表内定义的复选框来获取ListView中的索引号?
- 好吧,我正在尝试在 listView 中创建一个包含两个文本和一个复选框的项目列表。
- 我想在选中复选框时添加商品的价格。
- 要做到这一点,我需要知道 listView 的项目的索引,以便我可以获得它的“价格”并存储数据。
- 我无法通过复选框获取列表的当前索引,因为它表现为单个实体。
- 但是,如果我放置鼠标区域,我可以获得索引,但我需要通过复选框来获取它。
以供参考:
qt - 2 个不同 QML 文件中的 2 个不同对象之间的通信
我有一个 main.qml 文件,还有另一个“example.qml”文件。当我从“example.qml”文件中按下按钮时,我想更改“main.qml”文件中的文本。我尝试定义文本的来源。我试过发送信号。我尝试使用加载器,但总是走到了死胡同。
qt - QML Shape:如何强制数据属性以干净的方式更新?
我正在尝试创建一个窗口,我可以在其中绘制三角形并使用Shape{}删除其中的任何一个。在下面的示例中,我可以绘制 2 种类型的三角形:
- 上三角形:绿色和实心
- 向下三角形:黄色且未填充
基本上,我选择三角形的类型(右下角有一个按钮),然后单击窗口上的任意位置以获取三角形。
单击后,将动态创建一个三角形,并将其存储在属性triangleList中。然后我调用函数shape.update()来更新shape 的数据属性。这部分效果很好。
这里是我在 Shape 中使用的函数更新(因为数据是一个列表,我必须重新分配给一个新列表。):
当我尝试删除三角形时出现了我的问题。在我的示例中,我可以删除第一个、最后一个或所有三角形。当我删除一个三角形时,首先我删除了 triangleList 中的值,然后我再次调用shape.update()。当我删除所有三角形或最后一个三角形时,它会起作用。
但是,当我尝试删除第一个三角形时,即使我给它一个新的 list , data 也不会更新它的对象。事实上,它总是删除最后一个三角形。下面是一个例子:
data 属性知道少了一个三角形,但它不会更新其他三角形。我找到的唯一解决方案是更改属性然后返回原始值。这样,它会强制数据更新。但是我必须对每个可能不同的属性(颜色和位置)都这样做。因此,我的update()函数如下所示:
我邀请您评论/评论这些行以查看差异。我可以使用这个技巧来强制更新,但我的真实代码确实比这个例子大,而且我使用绑定。
所以我的问题是:有没有办法强制更新而不必更改每个属性?
如果你想测试它,这里是完整的代码:
非常感谢您的帮助,如果我不清楚,请随时问我。
祝你今天过得愉快!
qt - 如何在鼠标区域的地图上拖放组件并获取实时地图坐标
我想拖动一个在组件内部声明的 MapQuickItem,并从地图中获取实时坐标。运行代码时,我收到这样的错误“qrc:/main.qml:15: ReferenceError: mouseArea is not defined”。如何在组件外访问mouseAea?或者在哪里声明拖动的属性来访问鼠标区域?
qt - 如何在qt qml中更改地图上代表组件的颜色
我使用 MapQuickItem 作为地图上的委托组件。我有三个组件。单击组件时,我想更改委托组件的颜色。其余颜色相同。如何更改仅选定组件颜色的颜色
qt - 如何在 QT 中创建功能区组件?
我想使用 QtQuick (QML) 和 PySide2 作为后端来构建组件。
我教过的当前解决方案:我知道我可以使用 TopBar 构建按钮,即:
我可以为三种不同类型的按钮创建三个不同的委托:
代表1:
代表2:
代表 3:
并通过在模型中指定为“类型”来更改它们。
-------------------------------------------------- --------
但是我怎么把它们放在一起呢?我教过: • ListView 只能有一个方向,所以我无法使用它来构建它。• 网格视图,但它也有一个可能的方向相同的问题。
有人可以告诉我如何构建功能区组件吗?应该如何指定模型?
它应该根据组中按钮的数量自动扩展。