Есть ли способ изменить размер QMdiArea?

#c #qt

Вопрос:

Следующий код показывает изображение размера (71, 31). Однако главное окно отображается с размером(1280, 720).

 #include lt;QWidgetgt; #include lt;QMainWindowgt; #include lt;QApplicationgt; #include lt;QDebuggt; #include lt;QLabelgt; #include lt;QMdiAreagt; #include lt;QMdiSubWindowgt;   int main(int argc, char *argv[]) {  QApplication a(argc, argv);   QImage image("pic2.png"); // in current directory, of size (71, 31)  qDebug() lt;lt; " image.size() " lt;lt; image.size();   QLabel *label = new QLabel;  label-gt;setPixmap(QPixmap::fromImage(image));  label-gt;adjustSize();  qDebug() lt;lt; " label size() " lt;lt; label-gt;size();   QMdiArea *mdiArea = new QMdiArea;  qDebug() lt;lt; " mdiArea sizeHint " lt;lt; mdiArea-gt;sizeHint();   mdiArea-gt;addSubWindow(label);  for(int i=0; i lt; mdiArea-gt;subWindowList().count();   i) {  auto sub = mdiArea-gt;subWindowList().at(i)-gt;widget();  sub-gt;adjustSize();  }   qDebug() lt;lt; " mdiArea size " lt;lt; mdiArea-gt;size();  mdiArea-gt;adjustSize();  qDebug() lt;lt; " mdiArea size " lt;lt; mdiArea-gt;size();   QMainWindow w;  qDebug() lt;lt; " after construct " lt;lt; w.size();  w.setCentralWidget(mdiArea);   qDebug() lt;lt; " after setting central " lt;lt; w.size();  w.show();  qDebug() lt;lt; " after show " lt;lt; w.size();   return a.exec(); }  

Вот вывод отладочной информации.

 image.size() QSize(71, 31)  label size() QSize(71, 31)  mdiArea sizeHint QSize(1280, 720)  mdiArea size QSize(640, 480)  mdiArea size QSize(1280, 720)  after construct QSize(640, 480)  after setting central QSize(640, 480)  after show QSize(1280, 720)  

Как можно заставить главное окно уменьшиться до размера содержимого? Я подозреваю, что большой размер главного окна вызван размером QMdiArea. Если да, то есть ли способ это изменить?