强制在 contentsRect 而不是 rect 上绘制小部件
Posted
技术标签:
【中文标题】强制在 contentsRect 而不是 rect 上绘制小部件【英文标题】:Force widget painting on contentsRect instead of rect 【发布时间】:2014-08-12 09:10:42 【问题描述】:我正在为小部件设置contentsMargins
,并希望在contentsRect()
而不是rect()
上绘制小部件。我可以通过设置viewPort
和clipRegion
在paintEvent
这样做,但我不想为每种类型的小部件实现paintEvent
。
是否可以在contentsRect
而不是rect
上强制绘制小部件?
我正在编写模拟创建者的模拟,并希望在每个视觉组件上绘制边框。就像在 Qt creator 中所做的一样 - 当我在设计窗口中选择小部件时,每个小部件上都有一个带有调整大小点的边框,我想要这样的边框。
【问题讨论】:
描述最初的问题?为什么需要这个? 我正在编写模拟创建者的模拟,并希望在每个视觉组件上绘制边框。就像在 Qt creator 中所做的一样 - 当我在设计窗口中选择小部件时,每个小部件上都有一个带有调整点大小的边框,我想要这样的边框。 我想从小部件矩形偏移一些,以便边框可见。 【参考方案1】:解决了。我刚刚为每个可视组件创建了兄弟border
类,为其实现了moved
和resized
插槽,以便边框与小部件一起调整大小,并为每个小部件调用stackUnder
,以便在每个小部件上绘制边框。感谢合作。
【讨论】:
以上是关于强制在 contentsRect 而不是 rect 上绘制小部件的主要内容,如果未能解决你的问题,请参考以下文章