/*! \reimp */ QSize QTabWidget::sizeHint() const { Q_D(const QTabWidget); QSize lc(0, 0), rc(0, 0); QStyleOption opt(0); opt.init(this); opt.state = QStyle::State_None; if (d->leftCornerWidget) lc = d->leftCornerWidget->sizeHint(); if(d->rightCornerWidget) rc = d->rightCornerWidget->sizeHint(); if (!d->dirty) { QTabWidget *that = (QTabWidget*)this; that->setUpLayout(true); } QSize s(d->stack->sizeHint()); QSize t(d->tabs->sizeHint()); if(usesScrollButtons()) t = t.boundedTo(QSize(200,200)); else t = t.boundedTo(QApplication::desktop()->size()); QSize sz = basicSize(d->pos == North || d->pos == South, lc, rc, s, t); return style()->sizeFromContents(QStyle::CT_TabWidget, &opt, sz, this) .expandedTo(QApplication::globalStrut()); }
/*! \reimp Returns a suitable minimum size for the tab widget. */ QSize QTabWidget::minimumSizeHint() const { Q_D(const QTabWidget); QSize lc(0, 0), rc(0, 0); if(d->leftCornerWidget) lc = d->leftCornerWidget->minimumSizeHint(); if(d->rightCornerWidget) rc = d->rightCornerWidget->minimumSizeHint(); if (!d->dirty) { QTabWidget *that = (QTabWidget*)this; that->setUpLayout(true); } QSize s(d->stack->minimumSizeHint()); QSize t(d->tabs->minimumSizeHint()); QSize sz = basicSize(d->pos == North || d->pos == South, lc, rc, s, t); QStyleOption opt(0); opt.rect = rect(); opt.palette = palette(); opt.state = QStyle::State_None; return style()->sizeFromContents(QStyle::CT_TabWidget, &opt, sz, this) .expandedTo(QApplication::globalStrut()); }
/*! \reimp Returns a suitable minimum size for the tab widget. */ QSize QTabWidget::minimumSizeHint() const { QSize lc(0, 0), rc(0, 0); if(d->leftCornerWidget) lc = d->leftCornerWidget->minimumSizeHint(); if(d->rightCornerWidget) rc = d->rightCornerWidget->minimumSizeHint(); if ( !d->dirty ) { QTabWidget *that = (QTabWidget*)this; that->setUpLayout( TRUE ); } QSize s( d->stack->minimumSizeHint() ); QSize t( d->tabs->minimumSizeHint() ); QSize sz( QMAX( s.width(), t.width() + rc.width() + lc.width() ), s.height() + (QMAX( rc.height(), QMAX(lc.height(), t.height()))) + ( d->tabBase->isVisible() ? d->tabBase->height() : 0 ) ); return style().sizeFromContents(QStyle::CT_TabWidget, this, sz).expandedTo(QApplication::globalStrut()); }