gpt4 book ai didi

c++ - Qt 4.7.4 C++ QScrollBar -- 使用QStyle设置 slider 大小

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:54 27 4
gpt4 key购买 nike

我已经尝试了几种方法来让 QScrollBar 的 slider 根据 singleSteps() 的数量改变大小。我希望 stepSize() 为 ~1。

下面的链接让我最接近,但我似乎无法让它工作。

http://www.qtcentre.org/threads/2133-QScrollBar-custom-slider-s-size

我需要做什么来改变 slider 的大小?我会发布代码,但是就像我上面说的,我已经尝试了很多不同的尝试,我想清理我的石板,只看一个关于如何更改 slider 大小的干净示例。

最佳答案

通常, slider 的大小应该表示滚动内容的可见部分的大小。这就是 QAbstractSlider 的 API 的设计目的。

如果您想将可见部分的大小锁定为内容的非整数整体大小的某个整数倍,那么惯用的方法是通过非整数重新缩放滚动条的输出因子 height/(maximum() + pageStep())。文档的逻辑高度(长度)映射到 maximum() + pageStep()。您当然可以将 singleStep() 设置为等于 pageStep()

给定一些 numStripsheight,进行如下操作:

int numStrips;
qreal height;

int page = qRound(height/numStrips);
int max = (numStrips - 1) * page;

scrollBar->setMinimum(0);
scrollBar->setMaximum(max);
scrollBar->setPageStep(page);
scrollBar->setSingleStep(page);

qreal strip = scrollBar->value() * height / max;

关于c++ - Qt 4.7.4 C++ QScrollBar -- 使用QStyle设置 slider 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386082/

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