1

Qt 開発は初めてで、c++ の知識があります。Qt でいくつかのサンプルを作成しましたが、すべて単一フォームのサンプルです。

今、私は複数のフォームを持つようなアプリを作成したいので、知りたいです:

1.あるフォームから別のフォームに移動する方法

2.あるフォームから別のフォームにデータを渡す方法..

事前にサンクス。

4

1 に答える 1

2

モーダル ダイアログの場合は、スタック上にダイアログの新しいインスタンスを作成するだけです。このダイアログにデータを渡す 1 つの方法は、コンストラクター パラメーターを使用することです。

MyDialog dlg(param1,param2,param3);
if (dlg.exec())
{
    // ... process data from the dlg ...
    // call whatever public methods on the dialog while it still exists
    // e.g.
    myvar = dlg.getReturnValue();
}

モーダル ダイアログの場合、 を使用setResultして、ユーザーがダイアログを受け入れたか拒否したかを判断できます。これは、上記の if ステートメントで照会されます。

モードレス ダイアログは、おそらくより広い範囲で作成する必要があります (グローバルまたは動的作成を使用する可能性もあります)。

if (! modelessDlg)
{
    modelessDlg = new MyModelessDlg(param1,param2);
}

modelessDlg->show();
于 2012-08-18T13:03:26.740 に答える