【发布时间】:2012-06-15 15:46:45
【问题描述】:
我在 Qt 中编写了一个自定义小部件,该小部件子类化并进行自定义绘画,但它是一个非矩形对象(具有多边形顶部区域),并且工作正常,但是当添加布局时,它们“中断”到顶部区域,因为它得到了错误的边界区域。无论如何我可以在自定义小部件中指定子小部件的边界区域是什么?
【问题讨论】:
标签: qt
我在 Qt 中编写了一个自定义小部件,该小部件子类化并进行自定义绘画,但它是一个非矩形对象(具有多边形顶部区域),并且工作正常,但是当添加布局时,它们“中断”到顶部区域,因为它得到了错误的边界区域。无论如何我可以在自定义小部件中指定子小部件的边界区域是什么?
【问题讨论】:
标签: qt
一种方法是在小部件的布局上使用QLayout::setContentsMargins。
如果您想要一个不是矩形的边界,您可以使用填充了固定大小的矩形填充物的网格布局。可以使用scanline conversion 从多边形派生填充物——只需将一些扫描线合并成一个更高的边界矩形并将其用作填充物。
【讨论】: