У меня есть QGridLayout, заполненный моими пользовательскими QWidgets (я буду называть их CellWidgets). Я хочу отобразить сетку между всеми CellWidgets, чтобы столбцы и строки были четко видны.
Очевидно, что это не сделано из QGridLayout, поскольку это просто держатель для виджетов, которые рисуют их сами. Я заставил свои CellWidgets нарисовать границу, переопределив функцию paintEvent следующим образом:
QPainter Painter(this);
Painter.setPen(QPen(QBrush(Qt::white), 2));
Painter.setBrush(Qt::black);
Painter.drawRect(0, 0, width(), height());
Интервал QGridLayout установлен в 0, однако, когда он рисуется, граница сетки имеет одинаковую ширину вокруг краев и удваивает эту ширину между ячейками, так как граница ячейки эффективно отображается дважды.
Есть ли какой-нибудь чистый способ решить / избежать этой проблемы?