从QStyle更改Widget的大小

时间:2011-07-08 17:30:29

标签: qt qt4.7

我正在写QStyle这里我将QProgressBar更改为Slim单行,没有文本。因此高度也将降至5px。但是小部件宽度将由布局确定。我应该在My Style的drawControl中做些什么来改变小部件高度?

2 个答案:

答案 0 :(得分:1)

我从未真正写过QStyle,但如果您应该调整drawControl内的任何内容,我会认为这很奇怪。我可能错误地通过快速查看文档似乎建议您覆盖subElementRect并根据当前宽度和首选高度返回rect。我假设这将由布局活动调用,并将在调用drawControl时被整理出来。

答案 1 :(得分:1)

您是否需要修复窗口小部件的高度?或者只是绘制的高度永远不会超过5像素?首先,在上光功能上设置高度并调整策略。对于第二个,覆盖QStyle中的绘图仅使用5个像素。绘图的功能通常采用rects;如果正确覆盖相应的函数,可以使用修改后的rect调用基类的绘制。不幸的是,自从我完成任何QStyle工作以来已经有好几年了,所以我不确定这些功能究竟是什么。

相关问题