Qt6.2.2、QtCreator6.0、windows(minGW)の環境で開発しています。
以下の流れでダイアログを開くと、ダイアログが表示せずに処理が固まってしまいました。
解決のアイデアを教えていただけないでしょうか?
#開発
・Creatorでmainwindow(QMainWindow)とdialog(QDialog)を生成
↓
・まとまった処理を行うスレッドuserthreadを定義。
↓
・dialogを起動させるスレッドdialogthreadを定義。
↓
・dialogthreadにdialogを生成し、execをするメソッドopenを定義。
#処理の流れ
・mainwindow起動。userthreadを起動。
↓
・mainwindow上のボタンを押すと、userthreadへ処理要求のシグナルを飛ばす。
↓
・userthreadはスロット上でまとまった処理を開始。
↓
・まとまった処理の途中で、確認ダイアログを出すためのdialogthreadを生成、起動。
↓
・moveToThreadでdialogthreadのスレッドを独立させる。(一応入れた)
↓
・dialogthreadのopenメソッドを実行。
↓
・現象発生(ダイアログを表示せずアプリ全体が固まる。execの後の処理も動いてない)
※まとまった処理というのは単に長い処理というだけです。
回答1件
あなたの回答
tips
プレビュー