【发布时间】:2011-08-02 14:27:13
【问题描述】:
我有一个 QGridLayout,里面装满了我的自定义 QWidget(我称它们为 CellWidget)。我想在所有 CellWidgets 之间显示一个网格,以便列和行清晰可见。
显然这不是从 QGridLayout 完成的,因为它只是一个用于绘制它们自己的小部件的持有者。我通过像这样覆盖paintEvent函数让我的CellWidgets绘制了一个边框:
QPainter Painter(this);
Painter.setPen(QPen(QBrush(Qt::white), 2));
Painter.setBrush(Qt::black);
Painter.drawRect(0, 0, width(), height());
QGridLayout 间距设置为 0,但是,当它被绘制时,网格边框在边缘周围有一个宽度,而单元格之间的宽度是两倍,因为单元格的边框实际上被显示了两次。
有什么干净的方法可以解决/避免这个问题吗?
【问题讨论】: