前提・実現したいこと
qtを使用してC++でGUIの作成を行っています。
QMainWindowを継承してメインウィンドウを作成し、その中のボタン等で
QDalogを継承したダイアログ用の複数のサブウインドウを表示しています。
処理の途中で「処理を実行中です」と表示するメッセージウィンドウA(モードレスウインドウ)
を最前面に表示している最中に、メインウィンドウの「履歴」ボタンを押下すると、
処理履歴を表示する別のウィンドウB(モードレスウィンドウ)をウィンドウAの下、
メインウィンドウの上に表示したいです。
発生している問題・エラーメッセージ
上記の通り、メインウィンドウの処理でウィンドウAを最前面に表示した状態で、
ウィンドウBを表示させるとメインウィンドウの後ろに表示されてしまいます。
タスクバーから選択して押下すると、ウィンドウAの下、メインウィンドウの上に表示されるのですが、
最初から(ボタンを押下してウィンドウBを表示した際に)ウィンドウAの下、メインウィンドウの上に
表示させる方法はありますでしょうか?
試したこと
ウィンドウBをモードレスからモーダルにすると上記のようにウィンドウAの下、メインウィンドウの上に
表示されえるのですが、ウィンドウBを表示している最中にもほかのウィンドウを表示させたり、
メインウィンドウのタブの切り替え等をできるようにしたいため、理想の動作ではありません。
また、ウィンドウBを最前面に表示する設定にするのも、他のウィンドウを表示させる際に邪魔になるので
避けたいと思っています。
また、最前面に表示したウィンドウAがない場合は、正常にメインウィンドウの上に表示されます。
他のウィンドウで試しに最前面に表示しても同様の現象が起きたため、
あるウィンドウを最前面に表示した状態で、他のウィンドウを表示すると
後から表示したウィンドウがメインウィンドウの後ろに表示されるのだと思います。
補足情報(FW/ツールのバージョンなど)
G++ (GCC) 4.4.7
Linux(Red Hat 6.10)
qt 5.3.2
qtに関するこの情報が見当たらなかったため、解説等のあるリンクだけでも教えていただけますと幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/28 15:13 編集
2021/12/10 23:36