我正在写QStyle
这里我将QProgressBar更改为Slim单行,没有文本。因此高度也将降至5px。但是小部件宽度将由布局确定。我应该在My Style的drawControl
中做些什么来改变小部件高度?
答案 0 :(得分:1)
我从未真正写过QStyle
,但如果您应该调整drawControl
内的任何内容,我会认为这很奇怪。我可能错误地通过快速查看文档似乎建议您覆盖subElementRect并根据当前宽度和首选高度返回rect。我假设这将由布局活动调用,并将在调用drawControl
时被整理出来。
答案 1 :(得分:1)
您是否需要修复窗口小部件的高度?或者只是绘制的高度永远不会超过5像素?首先,在上光功能上设置高度并调整策略。对于第二个,覆盖QStyle中的绘图仅使用5个像素。绘图的功能通常采用rects;如果正确覆盖相应的函数,可以使用修改后的rect调用基类的绘制。不幸的是,自从我完成任何QStyle工作以来已经有好几年了,所以我不确定这些功能究竟是什么。