2017-04-19 4 views
1

ユーザが垂直方向にウィンドウのサイズを変更できるようにしたいが、どうすればよいのか分からない。 Qt Creatorでルートオブジェクト(View of type QWidget)を選択しましたが、ユーザがオブジェクトのサイズを垂直方向に変更できるようにするオプションが表示されません。これはコードで行う必要がありますか? QWidgetがトップレベルウィンドウがある場合ユーザが垂直方向にウィンドウのサイズを変更できるようにする方法

+0

QSizeGrip – baci

答えて

1

はデフォルトでは、あなたは彼らがリサイズの範囲を示しているので、minimumSizemaximumSizeが異なっていることを考えると、それをリサイズすることができます。

あなたが縦にのみサイズを変更するために、ユーザーをさせたい場合は、あなただけの(おそらくあなたのQWidgetの現在の幅に)同じ値にminimumWidthmaximumWidthの両方を設定する必要があります。 Qtは、基礎となるウィンドウマネージャーの残りの部分を指示します。

デザイナーで行うことも、setMinimumWidthsetMaximumWidthメソッドを使用してプログラムで行うこともできます。 を編集します。コメントに記載されているとおり、この操作を簡略化してコードで明示的にする方法はsetFixedWidthです。

もちろん、あなたのトップレベルウィンドウが崩壊して使用できなくなるのを避けるために、最小幅(または高さ、または両方 - 最小サイズ - )を設定するなどの組み合わせでプレイすることができます... 1つの一般的な設定はminimumSize = maximumSizeです。したがって、ウィンドウを固定サイズにします(便宜的な方法setFixedSizeを使用できます)。

PS:これは、sizePolicyとはまったく関係がありません。これは、ウィジェットを配置するときのサイズに関係なく、動作を取ることができる単純な親レイアウトを示しています。トップレベルウィンドウには親レイアウトがないため、このポリシーは単に使用されません。

+1

便利な関数['QWidget :: setFixedWidth'](http://doc.qt.io/qt-5/qwidget.html#setFixedWidth)もあります。 – thuga

+0

ああ!私はそれを知らなかった、素敵な!ありがとう@thuga! – cbuchart

+0

デザイナーで「QWidget」を右クリックすると、最小サイズまたは最大サイズを現在のサイズに設定するのに役立つ_Size constrains_サブメニューがあることを覚えています。 – cbuchart

関連する問題