gpt4 book ai didi

c++ - 如何在 Qslider 的自定义位置放置刻度?

转载 作者:搜寻专家 更新时间:2023-10-31 01:00:43 30 4
gpt4 key购买 nike

您好,我尝试实现自定义 QSlider,但刻度线始终处于间隔状态,我需要将它们放在特定位置。我不知道如何继续。

最佳答案

如果你只是想改变刻度线间隔,你可以使用QSlider:setTickInterval() .

来自文档:

tickInterval : int

This property holds the interval between tickmarks.

This is a value interval, not a pixel interval. If it is 0, the slider will choose between singleStep() and pageStep().The default value is 0.

如果您想要以非常规间隔进行标记,则需要覆盖 paint() ( see example )。

这是一些未经测试的示例代码:

void MyWidget::paintEvent(QPaintEvent* event)
{
QSlider::paintEvent(event); // paints the slider like normal

// Add your custom tick locations
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(Qt::darkGreen);
painter.drawRect(1, 2, 6, 4);

painter.setPen(Qt::darkGray);
painter.drawLine(2, 8, 6, 2);
}

这可能包含一些错误,但它应该很好地说明了这个想法。您还可以查看 this question .祝你好运!

关于c++ - 如何在 Qslider 的自定义位置放置刻度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468705/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com