首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制QProgressBar外观

控制QProgressBar外观
EN

Stack Overflow用户
提问于 2014-07-23 03:11:50
回答 1查看 1.2K关注 0票数 1

我想通过使QProgressBar变得瘦来定制它的外观。有一个可用的setMaximumHeight()方法。但不幸的是,剪裁(或剪辑)的高度,进度栏,使它看起来很奇怪。相反,我宁愿纵向地挤压或缩放它。在OSX平台上,裁剪问题尤为突出。图示如下:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-23 04:51:06

如果样式是由运行Qt的平台完成的,这是不容易完成的。在Windows和OS上,小部件的样式实际上都是由平台API呈现的。原语的大小由用户选择的样式设置(当然,在用户可选择的范围内)。

一个简单的解决方法是覆盖平台样式。您可以通过在小部件上设置一个非空样式表来做到这一点。由于样式表只对Qt有意义,而且平台风格的API不知道如何处理它们,所以一个非空样式表完全禁用给定小部件的平台样式。你从一种非常稀疏的Qt提供的风格开始。这就放松了固定平台的特定尺寸。当然,您必须提供一个特定于平台的样式表,以近似控件的本机外观--只是现在您可以根据您的喜好来调整控件的大小。

当然,您可以对控件的图像进行缩放。您需要将小部件render()到像素地图或图像上,然后缩放它,并使用它来呈现目标小部件。您需要为此编写一个包装小部件。除了大小限制之外,包装器需要使自己“看起来”与包装的小部件完全一样。这将需要转发事件,大小和大小限制(与期望的改变),油漆管理等。

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

https://stackoverflow.com/questions/24901208

复制
相关文章

相似问题

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