C++ redimensionner un quai Qt QDockWidget par programmation?

Je viens juste de commencer à travailler sur un nouveau C++/Qt projet. Ça va être un MDI-fondé de l'IDE avec quai des widgets pour des choses comme l'arborescence de l'explorateur d'objets, sortie du compilateur, etc. Une chose est sur écoute-moi jusqu'à présent cependant: je ne peux pas comprendre comment programmatically une QDockWidget plus petits. Par exemple, cet extrait de code crée mon dock du bas de la fenêtre, "Construire de l'Information":

m_compilerOutput = new QTextEdit;
m_compilerOutput->setReadOnly(true);
dock = new QDockWidget(tr("Build Information"), this);
dock->setWidget(m_compilerOutput);
addDockWidget(Qt::BottomDockWidgetArea, dock);

Lors de son lancement, mon programme ressemble à ceci (gardez à l'esprit que le stade précoce de développement):

C++ redimensionner un quai Qt QDockWidget par programmation?

Cependant, je veux qu'il apparaisse comme ceci:

C++ redimensionner un quai Qt QDockWidget par programmation?

Je n'arrive pas à obtenir ce que cela arrive. L'intervalle Qt de Référence sur QDockWidget dit ceci:

Taille personnalisée des conseils, des tailles minimale et maximale et la taille des politiques doivent être mises en œuvre dans l'enfant widget. QDockWidget respecter, en ajustant ses propres contraintes pour inclure l'image et le titre. Les contraintes de taille ne devrait pas être mis sur le QDockWidget lui-même, parce qu'ils changent en fonction de si il est connecté

Maintenant, cela laisse croire qu'une méthode d'aller à ce sujet serait à la sous-classe QTextEdit et remplacer le sizeHint() méthode. Cependant, je préfère ne pas le faire juste pour ce but, et je n'ai pas essayé de trouver que, pour être une solution de travail.

J'ai essayé d'appeler dock->resize(m_compilerOutput->width(), m_compilerOutput->minimumHeight()), appelant m_compilerOutput->setSizePolicy() avec chacun de ses options de... plus Rien jusqu'à présent n'a affecté la taille. Comme je l'ai dit, je préfère une solution simple en quelques lignes de code pour créer une sous-classe juste pour changer sizeHint(). Toutes les suggestions sont les bienvenues.

InformationsquelleAutor Zac | 2010-04-27