是否可以在qt中自定义滑块?

时间:2014-05-15 15:20:12

标签: c++ qt

是否可以制作带图像的滑块?不是作为背景而是像图像我上下拉动而不是滑块?

我已经四处搜索并看到了一些重绘滑块的例子,这是我需要做的事情,如果有的话,你可以链接我的任何例子吗?

还看到了一个叫做QML滑块的东西,我的项目可以实现吗,如果有的话,任何例子都会很棒!

我应该提到我对Qt和编程一般的新手,所以提前抱歉我犯了任何愚蠢的错误。

2 个答案:

答案 0 :(得分:6)

使用Qt Quick Controls中的Slider

import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1

Item {
    width: 400
    height: 400
    Slider {
        anchors.centerIn: parent
        style: SliderStyle {
            handle: Image {
                source: "http://icons.iconarchive.com/icons/custom-icon-design/pretty-office-9/256/square-icon.png"
                width: 14
                height: 14
            }
        }
    }
}

custom-slider-handle

有关详细信息,请参阅SliderStyle's documentation

答案 1 :(得分:1)

在Qt中,您可以使用样式表自定义几乎所有UI。有关文档和快速教程,您可能需要查看herehere

我还没有对此进行测试,但它可能会有效(请注意您必须添加qrc的句柄):

setStyleSheet("QSlider::handle:horizontal{background-image:url(:/images/fancySliderHandle.png);}");

您可能还想查看here以获取文档(在QSlider下)。可以找到语法指南(如果您的方法有问题)here