2017-10-23 14 views
1

私は非常に奇妙な問題に直面しています。QMainwindowと標準的なデスクトップアプリケーションがあり、QMainwindowのbuttonpressイベントで特定のセカンダリダイアログとウィジェットがポップアップしています。Qt 5.5のタッチスクリーンイベントが子ダイアログ/ウィジェットで正しく動作しない

最近、私はタッチスクリーンシステムでこのアプリケーションを実行しなければなりませんでした。

私は非常に奇妙な問題に直面しています。私のタッチスクリーンはQMainwindowのボタン、ラジオ、チェックボックスなどで動作していますが、特定のダイアログでは機能していません。

通常、アプリケーションとの対話のためにキーボードとマウスをQtで処理します。アプリケーション属性Qt::AA_SynthesizeMouseForUnhandledTouchEventsはデフォルトでtrueに設定されています。

これは正しく動作していませんか? Qtはマウスイベントとしてタッチイベントを合成できませんか?

私のシステムは、最小限のインストールで実行されていますUbuntu 16.04 64ビットとQt 5.5 opensource SDK。私は包括的な解決策なしで数日間、この問題の周りに私の頭を壊している。どのようなヘルプやリードがマッシュアップされています。ありがとう!

P.S:I believe this kind of issue is already faced by others

+0

クラリティ、コード引用。 – danny

答えて

0

は最後に、私はこの謎をクラックすることができました。実際にはQMainwindowであり、アプリケーションの任意の基本ウィジェットは未処理のタッチスクリーンイベントをマウスイベントに適切に合成できます。したがって、ダイアログ/ウィジェットを作成するときは、Mainwindowを親として設定し、子ウィジェットのコンストラクターでsetParent(親)を使用するようにしてください。私の歓声のための魅力のように働いた!

+0

編集:子ダイアログ/ウィジェットでウィンドウフラグを設定する必要もあります:setWindowFlags(Qt :: WindowStaysOnTopHint); – Kranky077

関連する問題