QGroupBoxの枠の見た目を変えます。ついでに、ヘッダの高さを変更します。

QProxyStyleクラスを継承します。QStyle::CC_GroupBoxのときだけ、矩形のサイズを書き換えて返します。
class MyGroupBoxStyle : public QProxyStyle {
private:
int header_height;
public:
MyGroupBoxStyle()
: header_height(-1)
{
}
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const
{
if (cc == QStyle::CC_GroupBox) {
if (header_height >= 0) {
QRect r = QProxyStyle::subControlRect(cc, opt, sc, widget);
r.setY(header_height);
return r;
}
}
return QProxyStyle::subControlRect(cc, opt, sc, widget);
}
void setHeaderHeight(int h)
{
header_height = h;
}
};
class MyGroupBox : public QGroupBox
{
Q_OBJECT
private:
MyGroupBoxStyle style_;
(略)
MyGroupBoxのコンストラクタで、スタイルオブジェクトを設定し、ヘッダの高さを変更します。
MyGroupBox::MyGroupBox(QWidget *parent)
: QGroupBox(parent)
{
setStyle(&style_);
style_.setHeaderHeight(32);
}
void MyGroupBox::paintEvent(QPaintEvent *) で好きなように描画します。(ソース参照)