3

私のQTC++アプリケーションでは、2つのボタン(OK / CANCEL)を備えたQML ModalDialogを呼び出します。これは画面に正しく表示されるため、問題はありません。

ただし、QTC++アプリケーションでどのボタンが押されたかを取得する方法を見つけるのに苦労しています。

QML ModalDialogを呼び出すと、どういうわけか「フリーズ」できず、ユーザーが[OK]ボタンまたは[キャンセル]ボタンを押すまで待機します。アプリケーションがQML ModalDialogを呼び出し、すぐにその部分を終了して続行します。

QMetaObject :: invokeMethodはQML関数を呼び出して戻り値を返すことができますが、ユーザーがボタンの1つを押すのを待たずに、すぐに終了するため、使用できません。

このQMLModalDialogをアプリケーションのいくつかの場所で使用したいので(QMLモーダルダイアログはQT C ++アプリケーションから異なるテキストを渡すことができます)、このための一般的なソリューションを探していました。

基本的かつ一般的に言えば、私はこのようなものを探しています:

C / C ++ return_value = QML_Modal_Dialog(....)

誰かが私を正しい方向に向けることができますか?ありがとう

4

2 に答える 2

1

QML モーダル ダイアログには、「承認済み」と「キャンセル済み」の 2 つのシグナルがあります。コードでこれら 2 つのシグナルのハンドラーを提供すると、どのボタンが押されたかを知ることができます。参考までに、以下を参照できます。

モーダル ダイアログ リファレンス 1

モーダル ダイアログ リファレンス 2

お役に立てれば!

于 2011-05-03T02:20:08.920 に答える