2011-07-14 36 views
0

QTが新しく、私はグリッドレイアウトを持つウィジェットを作成しています。 gridlayoutには、QLineEditウィジェットの行列が含まれています。ウィンドウはレイアウトに合わせてサイズ変更されますが、レイアウトが大きい場合は画面から外れます。画面を最大化すると、QLineEditウィジェットは画面に合わせてサイズが変更され、大きなレイアウトでは非常に小さくなります。QTのレイアウトを含むウィジェットにスクロールバーを追加するC++

QLineEditウィジェットのサイズを変更せずにウィンドウのサイズを変更し、スクロールバーを追加してナビゲートできるようにしたいと考えています。

ノー運を試してみました次:ウィンドウレイアウトを含むウィジェットです

Window->resize(QSize(500,500)); 
QScrollArea *scrollArea = new QScrollArea; 
scrollArea->setWidget(Window); 

を。また、「scrollArea-> setWidget(Window);」の実行後にウィンドウが閉じます。なぜかそんなことはありません。

誰かが私を助けることができたら、私は本当にそれを感謝します。
ありがとうございました!

+0

あなたのscrollAreaを表示するのを忘れました。 scrollAreaはあなたのウィンドウの所有権を取ったので隠されていた –

+0

sooo much Kamilありがとう!あなたは素晴らしいです。 さらに2つの質問がありました。ウィンドウのサイズ変更は、グリッドレイアウトのウィジェットのサイズを変更します。ウィジェットの垂直サイズを無効にする方法はありますか? また、レイアウトにメニューバーがあり、スクロールもメニューを移動しますが、それを無効にするにはどうしますか? –

答えて

0

メニューバーでQMainWindowを作成して問題を解決しました。次に、レイアウトを含むウィジェットを作成し、スクロールエリアをウィジェットに設定します。最後に、メインウィジェットの中央ウィジェットをスクロール領域に設定します。

0

ウィジェットの垂直サイズを無効にするには、ウィジェットでsetFixedHeight()メソッドを使用するだけです。

メニューバーの場合、スクロール可能なウィジェットから取り出してください。メニューバーを含むウィンドウのレイアウトと、それ以外のすべてを含むウィジェット(スクロール可能なパート)を持つことができます。それはあなたが探しているものですか?

+0

お返事ありがとうございます。メニューバーでQMainWindowを作成して問題を解決しました。次に、レイアウトを含むウィジェットを作成し、スクロールエリアをウィジェットに設定します。最後に、メインウィジェットの中央ウィジェットをスクロール領域に設定します。かなりあなたの返信。 –

関連する問題