1

派生した QDialog ダイアログを好きなようにレイアウトし、好きなようにサイズを変更しましたが、プレビューが本来よりも大きなサイズに変更されるという問題があります。デザイナーでは、含まれているすべてのポリシーとヒントを考慮して、ウィンドウは可能な限り最小のサイズに縮小されますが、プレビューでは (そして実際のコードでは、私が想定しているとおり)、必要以上に大きくなります。次に、デザイナーで表示されるように最小サイズにサイズ変更できますが、余分なスペースがどこから来ているのか疑問に思っています. 説明するための写真がいくつかありますが、それだけでは不十分な場合は、ui ファイルなどを投稿できます。

デフォルトのプレビュー サイズ

ここに画像の説明を入力

サイズ変更後の最小プレビュー サイズ

ここに画像の説明を入力

4

3 に答える 3

0

@Roku、それも機能しませんでした。いくつかのスペーサーを削除しましたが、他のスペーサーはすべて目的を果たしています。UIを手で書くだけで、問題なく動作しました。私のレイアウトを壊していたすべてのDesignerがソースコードに何を追加するのかわかりません。それを覗き見ている明らかな違反者は見つかりませんでした。

これは、Designerを使用する最初の本当の試みであり、簡単なモックアップには適していますが、非常に壊れやすいようです。ウィジェットやレイアウトを誤って移動すると、たとえば、元に戻した後でも、設定したすべてのサイズポリシーが破損します。そして最終的には、Designerを使用するよりも手作業で行うのにそれほど時間はかかりませんでした。また、コードに統合したり、予期しない動作を追跡したりするという面倒な手間を我慢する必要はありません。つまり、ここでDesignerの場合は-1です。

これが出てきた方法 ですhttp://i.stack.imgur.com/UVrFG.png

于 2011-07-13T20:13:55.637 に答える
0

ダイアログの縦と横のサイズ ポリシーを に設定してみましたQSizePolicy::MinimumExpandingか?

于 2011-07-12T23:36:37.557 に答える
0

UI を初期化した後、ダイアログ ウィジェットを呼び出しresize(0, 0)ます。これにより、ウィジェットが最小サイズに設定されます。

また、あまりにも多くのスペーサーを使用しています。一番左のものを除いて、すべての垂直スペーサーを削除する必要があると思います。水平スペーサーのほとんども不要です。

于 2011-07-13T08:26:21.343 に答える