void DataVisualizer::adjustSize(void) { // determine the current difference between window size and viewport size int margin = size().height() - gvDisplay->viewport()->size().height(); int scrollBarWidth = 0; // get scrollbar height offset QScrollBar * vscroll = gvDisplay->horizontalScrollBar(); if (vscroll) scrollBarWidth = vscroll->sizeHint().height(); margin += scrollBarWidth; QSize newSize(size()); // update height only newSize.setHeight(int(gvDisplay->sceneRect().height()) + margin); // resize nescessary ? if (size().height() != newSize.height()) { resize(newSize); } }