質問
私はQTと仕事をしています(バージョン4.6 Windows XP 32ビットで、QT Creator 2.0.0)でコンパイルし、QWIZARDを動作させようとします。
最初の問題:
私は3を持っています qwizardpages 私の中で qwizard これまでのところ。各ページには、レイアウトとしてQVBoxLayoutが適用されます。私の最初のページには非常に小さなコンテンツがあります(わずか3行のqlabel)が、何らかの理由で、qlabelと「<back」、「next>」、および "cancel"ボタンペインの間にかなりの空白があります。各ページに、内部のコンテンツに基づいて最小量の空白を持っていることを望みます。過去には、親のないQWidget(独自のウィンドウ)にQVBoxLayoutを入れたとき、ウィンドウは常にQVBoxLayoutを修正するのに十分なほど小さかったです。今、余分な空白があります。 qwizardpagesができるだけ小さいように、オフまたはオンにする必要があるオプションはありますか?
2番 (そしてほとんどが最初のものに関連する可能性が高い) 問題:
また、2番目のページは最初のページよりもはるかに大きいため、2番目のページにアクセスして最初のページに戻ると、最初のページは2番目のページと同じサイズを維持しますが、2番目のページにアクセスした後にのみ維持します。これはバグですか?
私がしている唯一のジオメトリ設定は、私がするときです
move(50, 50);
Qwizardコンストラクター。再サイズはありません...明示的なものはありません。レイアウトに魔法をかけようとしています。
Advancedでご協力いただきありがとうございます。
解決
この問題を修正するために、私はQwizardの子供クラスを作成し、次のようなプライベートスロットを作成しました。
void ChildClass::fitContents(int id)
{
adjustSize(); // this automagically resizes the window to fit the contents
}
そして、ページが変更されるたびに電話をかけました。
connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(fitContents(int)));