【问题标题】:Adding Functionality / behavior to a QML Slider.向 QML 滑块添加功能/行为。
【发布时间】:2014-05-05 09:02:22
【问题描述】:

是否可以创建 QML 元素的子类?

我试图创建一个自定义 QML 滑块(与 QtQuick.Controls 中可用的滑块相反)。所以我希望外观和感觉保持不变,而范围本身以对数方式(而不是算术方式)表现。

我知道我可以在 C++ 中定义一个自定义滑块,将它注册到 QML,然后在 QML 中使用它。但是我想看看我是否可以通过创建一个子类来重用现有的 QML 滑块,这样我就可以只更改我想要更改的内容,而其他所有内容的行为都与 QML 滑块相同。

所以。是否可以创建 QML 元素的自定义子类。

谢谢

【问题讨论】:

  • 为什么不在普通滑块中定义一个新的property double logValue: Math.log(value) 然后使用这个?
  • 对于这个特定问题来说这是个好主意。但总的来说,我想知道是否可以创建 QML 元素的子类。
  • 很可能,但如果基础项目中不存在customiazation-via-subclassing 行为,则可能毫无用处。

标签: qt qml qtquickcontrols


【解决方案1】:

你只需要创建一个新的 qml 文件

假设你将其命名为 MySlider.qml。

MySlider.qml:

import QtQuick 2.0
import QtQuick.Controls 1.0

Slider {
    // anything you want
}

现在您可以将 MySlider 用作新组件

main.qml

...
...
MySlider {
}
...
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多