2

Qt を使用して C++ アプリケーションを開発しています。コードをコンパイルしてハードコーディングせずに、Qt Designer ui ファイルをそのまま (XML で) コードで使用したいと考えています。この URL のサンプル コードを使用しています。

サンプルコードへのリンク

この例では、XML を QWidget に適用し、QWidget を表示します。QMainWindow を使用してこれをどのように実装できますか?

4

1 に答える 1

0

これを行うには、少なくとも 2 つの方法があります。

方法 1

Qt Designer を使用して、垂直レイアウトを中央のウィジェットに追加します。子のないウィジェットではこれを行うことができないため、ボタンを追加してレイアウトを適用し、そのボタンを削除するだけです。レイアウトに「main_layout」などの適切な名前を付けます。

例からコンストラクターの実装をコピーし、次の行を変更します。

QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(formWidget);
setLayout(layout);

これに:

ui->main_layout->addWidget(formWidget);

方法 2

メイン ウィンドウのフォームを操作する必要はありません。例からコンストラクターの実装をコピーし、レイアウトに関する同じ行を次のように変更します。

setCentralWidget(formWidget);

自動的に生成された中央のウィジェットは、動的に読み込まれたフォームに完全に置き換えられます。

于 2013-10-03T05:38:51.200 に答える