質問
いQtダイアログを願います。いったいこのダイアログのresizeable.私にはどのように達成します。いろいろとろのものだが、ダイアログを開始このダイアログのサイズ変更ができます。.
うにうに設定を無効にするにはダイアログボックス/ウィジェットサイズ変更.
にも挑戦しました
setSizePolicy(QSizePolicy::Fixed);
がエラっ..
source\nimcac_settingsMain.cpp(36) : error C2248: **'QSizePolicy::QSizePolicy' : cannot access private member declared in class 'QSizePolicy'** p:\ThirdPartyExports\Qt\export\4.3\4.3.1f14\include\QtGui\../../src\gui\ kernel\qsizepolicy.h(177) : see declaration of 'QSizePolicy::QSizePolicy' p:\ThirdPartyExports\Qt\export\4.3\4.3.1f14\include\QtGui\../../src\gui\ kernel\qsizepolicy.h(34) : see declaration of 'QSizePolicy'
親切に教えてくれるので助かります。
解決
あなたはすでにそれをしようとした場合、私は知らないが、QWidget::setFixedSize
はあなたが欲しいものを行う必要があります。
他のヒント
あなたはQSizePolicy::Policy
するsetSizePolicy(QSizePolicy)
に合格しようとするので、あなたが得るコンパイルエラーがある、しかし、とりわけ、含むクラスである(1 QSizePolicy::Policy
をQSizePolicy
する(1次元のポリシーである)Policy
からの暗黙の型変換はありません次元あたり(高さ、幅))。 QSizePolicy
はいえ、とにかくトップレベルウィジェット(ウィンドウ)上では動作しません。
setFixedSize()
のみ動作します(通常はそうでない、どのような変更フォントサイズや言語で)。あなたが行うことができます。
window()->setFixedSize( window()->sizeHint() );
が、それは使用することがはるかに良いです。
window->layout()->setSizeConstraint( QLayout::SetFixedSize );
これレイアウトは、ダイアログのサイズを決定することができますが、私はあなたが求めていたものであると想定され、リサイズはできません。
this->setFixedSize(this->width(),this->height());
変更する必要があるのwindowFlagsのダイアログに設定してQt::MSWindowsFixedSizeDialogHint.
こwindows.
詳しい情報をご覧くださいこの例:http://doc.qt.digia.com/4.5/widgets-windowflags.html
ご利用の場合QtCreator(もちろんおきのプロパティを設定HorizontalsizePolicy固定および垂直方針のものを修正。その後の設定ができますそれぞれの寸法です。ユーザーがウィンドウをリサイズは最大化。
QTクリエーターで、UIエディタで、プロパティウィンドウの一番上のオブジェクトをクリックし、[レイアウトの一部で一番下にスクロールします。あなたはlayoutSizeConstraintプロパティを参照する必要があります。
layoutSizeConstraint
するSetFixedSize
を設定します。
コードをいつもこのような
Dialog->resize(581, 292);
QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(WaterLevelEditorDialog->sizePolicy().hasHeightForWidth());
Dialog->setSizePolicy(sizePolicy);
Dialog->setMinimumSize(QSize(581, 292));
Dialog->setMaximumSize(QSize(581, 292));
Dialog->setSizeGripEnabled(false);
にQtCreatorいて
- 選択のダイアログボックスのウィジェット
- すると、ダイアログボックスがウィジェットにオブジェクトウインドウ
- オブジェクトに画面で、右クリックしダイアログボックスオブジェクトのポップアップメニュー
- を選択"サイズの制約"->"セットの最大サイズのメニューから"
- 右クリックし再度ダイアログオブジェクトのポップアップメニュー
- を選択"サイズの制約"->"セットの最小サイズ"
- 物件画面
- の確保"sizePolicy"->"横方針"としての価値"固定"
- の確保"sizePolicy"->"垂直方針"としての価値"固定"
- の確保"sizeGripEnabled"をチェックしていない
Qtのドキュメントから、setSizePolicy()
方法は、ゼロ引数または二つの引数を取りますが、1つの引数にすることはできませんどちらか。あなたがこのコンパイルエラーを取得する理由です。私の実験から、あなたが固定サイズを設定しない場合。このメソッドは、使用していません。ウィンドウには、まだサイズ変更が可能なことができます。
あなたはQMLでUIを設計し、QDeclarativeViewを使用して起動している場合は、以下のコードを試してみます。
QScopedPointer<QmlApplicationViewer> viewer(QmlApplicationViewer::create());
.
.
.
//To make the window non-resizable
viewer->setFixedSize(viewer->width(),viewer->height());
ここでQmlApplicationViewerがQDeclarativeViewから導出されます。