Куски кода - думаю разберешься
void MainWindow::setFontSize( int size )
{
	fontSize = size;
	QFont serifFont( "MS Shell Dlg", fontSize );
	this->setFont( serifFont );
	tableView->resizeColumnsToContents();
	tableView->resizeRowsToContents();
}
QLabel *fontSizeLabel = new QLabel( tr( "Font size:" ) );
	QSpinBox *fontSizeSpinBox = new QSpinBox;
	fontSizeSpinBox->setRange( 1, 64 );
	fontSizeSpinBox->setValue( 10 );
	connect( fontSizeSpinBox, SIGNAL( valueChanged( int ) ),
			 this, SLOT( setFontSize( int ) ) );
Шрифт меняется -размеры подгоняются. не пробывал на DockWidget (точнее если виджет docked шрифт не меняется - ну понятно почему).