我有一个QGridLayout填充了我的自定义QWidgets(我将它们称为CellWidgets)。我想在所有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,但是,在绘制时,网格边框的边缘周围有一个宽度,单元格之间的宽度加倍,因为单元格的边框实际上显示了两次。
任何干净的方法来解决/避免这个问题?