I have a problem with a QGridLayout. One row of my layout contains an element (QProgressbar) that is normaly hidden. When there is some progress to report i call show on it. The problem is that when i call show on the QProgressbar the row above the row containing it will be slightly resized in height (1-3 px). So the whole layout does a little "jump" which looks ugly.
I have given a minimalRowHeight to the row that contains the QProgressbar that is much larger then the height of the QProgressbar but still the height of the row will increase on show().
I have attached a very minimal version of my program that demonstrates the problem. Can anyone give me a hint what is going on there?
Header:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QLineEdit>
#include <QtWebKit/QWebView>
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    MainWindow(QWidget *parent = 0);
private:
    QLineEdit* input;
    QWebView *webview;
private slots:
    void slotLoadButton();
};
#endif // MAINWINDOW_H
Source: #include "mainwindow.h"
#include <QProgressBar>
#include <QPushButton>
#include <QGridLayout>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QGridLayout *grid = new QGridLayout;
    input = new QLineEdit;
    QPushButton *loadButton = new QPushButton("load");
    connect(loadButton, SIGNAL(clicked()),
            this, SLOT(slotLoadButton()));
    webview = new QWebView;
    QProgressBar *progress = new QProgressBar;
    progress->setFixedHeight(25);
    progress->hide();
    connect(webview, SIGNAL(loadStarted()),
            progress, SLOT(show()));
    connect(webview, SIGNAL(loadProgress(int)),
            progress, SLOT(setValue(int)));
    connect(webview, SIGNAL(loadFinished(bool)),
            progress, SLOT(hide()));
    grid->addWidget(input, 0, 0);
    grid->addWidget(loadButton, 0, 1);
    grid->addWidget(webview, 1, 0, 1, -1);
    grid->setRowMinimumHeight(2, 35);
    grid->addWidget(progress, 2, 1);
    QWidget* widget = new QWidget;
    widget->setLayout(grid);
    setCentralWidget(widget);
}
void MainWindow::slotLoadButton()
{
    QUrl url = input->text();
    webview->load(url);
}