QGridLayout ничего не рисует, он просто вычисляет макет. Таким образом, сам QGridLayout не может рисовать линии сетки для вас.
Самый простой способ - поместить QFrame в каждую ячейку вашего QGridLayout и переместить ваш контент в эти QFrame. В WinXP, установив для QFrame frameShape значение Box, а frameShadow - Plain, вы получите простые блоки.
Вы также можете создать новый виджет, который рисует линии сетки в соответствии с макетом, который вычисляет QGridLayout. Используя QGridLayout::itemAtPosition
, вы можете получить QLayoutItem для каждой ячейки.