问题标签 [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.

0 投票
1 回答
542 浏览

qt - 发送信号后如何刷新qml中的组合框

基本上,我在 qml 中有一个组合框,我使用 QStringList 填充。但是,我无法刷新组合框(重新加载)以显示列表已更改。我考虑过使用 Loader 来做到这一点,但我无法弄清楚。有人可以指导我如何做到这一点。

网络.qml

网络.h

网络.cpp

如何重新加载 row2 的组合框以刷新列表?它只在开始时获取列表,但我想在发出信号 updateNetworks() 时更新下拉列表(组合框)。我尝试使用 Loader 并将它的 source.Component 设置为 row2 的 id,但我不断收到错误“错误:无法将 QObject* 分配给 QQmlComponent”。有什么帮助吗?

0 投票
1 回答
299 浏览

qt - qml 对多个对象使用相同的矩形组件

我试图通过调用相同的矩形组件并仅更改必填字段并保持其余字段相同来减小 qml 文件的大小。

下面显示的部分正在工作,但想要减小尺寸。

基本上,我不想制作湿气矩形。我想使用温度矩形并修改说“x”值,内部连接只修改“路径”。如果是的话,那有可能吗?谢谢你 !!!

0 投票
1 回答
149 浏览

qqmlcomponent - QML如何通过单击listView代表内定义的复选框来获取ListView中的索引号?

  1. 好吧,我正在尝试在 listView 中创建一个包含两个文本和一个复选框的项目列表。
  2. 我想在选中复选框时添加商品的价格。
  3. 要做到这一点,我需要知道 listView 的项目的索引,以便我可以获得它的“价格”并存储数据。
  4. 我无法通过复选框获取列表的当前索引,因为它表现为单个实体。
  5. 但是,如果我放置鼠标区域,我可以获得索引,但我需要通过复选框来获取它。

以供参考:

0 投票
1 回答
174 浏览

qt - 2 个不同 QML 文件中的 2 个不同对象之间的通信

我有一个 main.qml 文件,还有另一个“example.qml”文件。当我从“example.qml”文件中按下按钮时,我想更改“main.qml”文件中的文本。我尝试定义文本的来源。我试过发送信号。我尝试使用加载器,但总是走到了死胡同。

0 投票
1 回答
1316 浏览

qt - QML Shape:如何强制数据属性以干净的方式更新?

我正在尝试创建一个窗口,我可以在其中绘制三角形并使用Shape{}删除其中的任何一个。在下面的示例中,我可以绘制 2 种类型的三角形:

  • 上三角形:绿色和实心
  • 向下三角形:黄色且未填充

基本上,我选择三角形的类型(右下角有一个按钮),然后单击窗口上的任意位置以获取三角形。

单击后,将动态创建一个三角形,并将其存储在属性triangleList中。然后我调用函数shape.update()来更新shape 的数据属性。这部分效果很好。

这里是我在 Shape 中使用的函数更新(因为数据是一个列表,我必须重新分配给一个新列表。):

当我尝试删除三角形时出现了我的问题。在我的示例中,我可以删除第一个、最后一个或所有三角形。当我删除一个三角形时,首先我删除了 triangleList 中的值,然后我再次调用shape.update()。当我删除所有三角形或最后一个三角形时,它会起作用。

但是,当我尝试删除第一个三角形时,即使我给它一个新的 list , data 也不会更新它的对象。事实上,它总是删除最后一个三角形。下面是一个例子:

在此处输入图像描述

data 属性知道少了一个三角形,但它不会更新其他三角形。我找到的唯一解决方案是更改属性然后返回原始值。这样,它会强制数据更新。但是我必须对每个可能不同的属性(颜色和位置)都这样做。因此,我的update()函数如下所示:

我邀请您评论/评论这些行以查看差异。我可以使用这个技巧来强制更新,但我的真实代码确实比这个例子大,而且我使用绑定。

所以我的问题是:有没有办法强制更新而不必更改每个属性?

如果你想测试它,这里是完整的代码:

非常感谢您的帮助,如果我不清楚,请随时问我。

祝你今天过得愉快!

0 投票
1 回答
338 浏览

qt - QML ScrollBar 结合 ListView

我是 QML 和 QT 的新手,所以如果这个问题对你们中的大多数人来说听起来很愚蠢,请不要怪我,但我在互联网上进行了搜索,但没有任何运气找到答案。


我正在尝试做的事情:

我有 a ScrollViewwhich 里面有 aScrollBar和 a ListView

我希望在滚动 ListView 元素的那一刻也能将栏从ScrollBar. 换句话说,我想用它ScrollBar作为你当前位置的整体视图,你不应该触摸它,它的唯一目的是为了查看。


我的代码:


布局:

在此处输入图像描述


0 投票
0 回答
139 浏览

qt - QML ListView 调整大小自定义小部件委托

我有以下问题:

我有一个 ListView,里面有这样的电影: 在此处输入图像描述

我想现在我会点击一部电影,以便与其他人一起变得更大并且独立地高,但出于某种原因,我得到了这个。

在此处输入图像描述

我已经将宽度尺寸增加了很多只是为了显示我的问题,实际上,它不需要那么大。

你能向我解释为什么它保持那个按钮的形状,即使那些缩放是正确的,除了实际的形状?


这是我使用自定义小部件的方式(它是 ListView 的委托):


这是 SideButton 的实际代码:


你们中的任何人我做错了什么,如果是这样,我该如何解决?我已经花了这么多时间,但我没有得到问题,因为据我所知,所有的分辨率都是在那个按钮内设置的。

0 投票
2 回答
281 浏览

qt - 如何在鼠标区域的地图上拖放组件并获取实时地图坐标

我想拖动一个在组件内部声明的 MapQuickItem,并从地图中获取实时坐标。运行代码时,我收到这样的错误“qrc:/main.qml:15: ReferenceError: mouseArea is not defined”。如何在组件外访问mouseAea?或者在哪里声明拖动的属性来访问鼠标区域?

0 投票
1 回答
195 浏览

qt - 如何在qt qml中更改地图上代表组件的颜色

我使用 MapQuickItem 作为地图上的委托组件。我有三个组件。单击组件时,我想更改委托组件的颜色。其余颜色相同。如何更改仅选定组件颜色的颜色

0 投票
1 回答
299 浏览

qt - 如何在 QT 中创建功能区组件?

功能区是以下组件: 一条丝带

我想使用 QtQuick (QML) 和 PySide2 作为后端来构建组件。


我教过的当前解决方案:我知道我可以使用 TopBar 构建按钮,即: 功能区的顶部按钮组

我可以为三种不同类型的按钮创建三个不同的委托:

代表1:

在此处输入图像描述

代表2:

在此处输入图像描述

代表 3:

在此处输入图像描述

并通过在模型中指定为“类型”来更改它们。

-------------------------------------------------- --------

但是我怎么把它们放在一起呢?我教过: • ListView 只能有一个方向,所以我无法使用它来构建它。• 网格视图,但它也有一个可能的方向相同的问题。

有人可以告诉我如何构建功能区组件吗?应该如何指定模型?

如何在底部添加按钮分组器,即: 在此处输入图像描述

它应该根据组中按钮的数量自动扩展。