了解 QML 滑块

Posted

技术标签:

【中文标题】了解 QML 滑块【英文标题】:Understanding QML Slider 【发布时间】:2017-03-03 23:01:03 【问题描述】:

我正在做一个简单的滑块项目,只是为了了解滑块在 QML 中的工作原理。 我正在使用来自Qt.labs.controls 的滑块 我查看了他们的文档,只有两种方法。

void decrease()void increase()

我要做的就是显示与滑块位置对应的值。 我找不到任何信号或方法来告诉我当前位置是否发生变化或类似情况。 我找对地方了吗? 还是我必须从头开始编写所有内容才能使我的简单项目工作?

更新:我使用的是 QT5.6,我应该为此使用更高版本

【问题讨论】:

【参考方案1】:

您特别提到了实验室,这意味着您可能正在使用 QtQuick 2。自 Qt5.6 以来,控件组件有很多重要的开发,因此如果打算继续使用 QtQuick 2,建议升级.

http://doc.qt.io/qt-5/qml-qtquick-controls2-slider.html 提供最新的文档。请注意,该小部件在 Qt5.7 中进行了更新,并且当前的导入命令是 import QtQuick.Controls 2.1

最新的Qt是5.8,其中的Slider同时支持positionvalue

position:滑块的位置,从 0 到 1。 value:从position映射到刻度的输出值[fromto]

【讨论】:

【参考方案2】:

您可以使用该控件的 value 属性。每个 qml 属性都有隐式信号处理程序。例如:对于值属性,您将有信号 onValueChanged。 对于您的简单项目,您还可以使用 QtQuick.Controls 中的滑块控件。只需在您的 qml 文件中导入 QtQuick.Controls 1.4。

【讨论】:

以上是关于了解 QML 滑块的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自定义形状创建 QML 滑块?

QML滑块调整矩形

滑块上的 QML 性能

带滑块的 qml textedit

qml:无法访问滑块组件中的 styleData

连接滑块以控制 qml 相机的缩放