0

所以,我有一个QFrame布局设置为QGridLayout.

在这个布局中,我有 16 行的图块,它们代表了一些调色板。

我希望这个瓷砖网格用线条分隔,就像网格应该那样。我可以用瓷砖轻松做到这一点paintEvent

然而,明显的问题是,在瓷砖之间,线条是双重的。当我将其扩展到其他应用程序时,差异变得更加明显。

那么,有没有办法为我创建网格线覆盖QFrame?我考虑过将整个事情转换为视图/场景解决方案,并使用drawForeground,但这似乎完全不恰当地使用了范式。

感谢您的帮助!

4

1 回答 1

1

将其QFrame放入 aQGridLayout中,然后放置一个QWidget具有透明背景的自定义,paintEvent并将网格绘制在其顶部(相同QGridLayout位置)。

或者,既然您已经有了QGridLayout,只需将自定义QWidget放在其中,在瓷砖上方,填充整个网格


附注,你确定你想要QFrame那里,或者如果只是QWidget这样做?只是说,因为QFrame你可以看到 1990 年代的 UI...

于 2020-03-24T06:26:47.217 回答