首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有正确绘制刻度的QSlider

没有正确绘制刻度的QSlider
EN

Stack Overflow用户
提问于 2019-06-19 07:55:49
回答 2查看 758关注 0票数 0

为QSlider启用滴答似乎会破坏滑块本身的sizeHint。

考虑一下这个简单的代码:

代码语言:javascript
复制
#include <QApplication>

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   QSlider ds{Qt::Horizontal};

   ds.setRange(0, 100);
   ds.setTickPosition(QSlider::TicksAbove);
   ds.setTickInterval(20);
   ds.show();

   return a.exec();
}

这是如何呈现的:

注意滑块是如何裁剪在下面的。

当然,在一个复杂的部件中,这种行为也是一样的:

调整第一个滑块滴答位置的窗口大小不跟随滑块本身。

那么问题是如何在启用滴答键的情况下正确地呈现QSlider?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-19 14:00:28

解决这一问题的实际方法是手动将最小大小设置为裸最小值,以避免不正确的呈现:

代码语言:javascript
复制
ds.setMinimumHeight(30);
票数 0
EN

Stack Overflow用户

发布于 2019-06-19 09:09:13

我建议将VerticalSpacers添加到top底部,它们被设置为"expanding“,以便将滑块夹好。因此,当您调整整个小部件的大小时,对于垂直更改,滑块保持minimumHeight,,但是对于水平更改,它会扩展(至少这是您希望达到的目标)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56662698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档