我在Qt中编写了一个自定义小部件,它是子类并进行自定义绘制,但它是一个非矩形对象(有一个多边形顶部区域),并且它工作正常,但是当添加布局时,它们“打破”到顶部区域,因为它正在获得错误的边界区域。无论如何,我可以在自定义小部件中指定子小部件的边界区域是什么?
答案 0 :(得分:1)
一种方法是在小部件的布局上使用QLayout::setContentsMargins
。
如果您想要一个不是矩形的边界,您可以使用填充了固定尺寸矩形填充物的网格布局。可以使用scanline conversion从多边形派生填充 - 只需将多个扫描线合并为更高的边界矩形并将其用于填充。