(ユーザーの要求に応じて) 他のウィンドウの上にとどまる必要がある Qt アプリケーションがあります。アプリケーションの windowsFlags で Qt::WindowStaysOnTopHint を設定することでこれを達成しました。
しかし、QFileDialog のようなシステムモーダル QDialog 派生ダイアログを開くと、このダイアログは自分のアプリケーションの下にとどまります。すべてのダイアログを見つけて、Qt::WindowStaysOnTopHint で構築しようとすることができましたが、
- 多数のダイアログがあるため、これは面倒です。
- エラーが発生しやすいので、1 つでも見逃すと、
- また、一部のダイアログでは、これがまったく機能しません。たとえば、QColorDialog::getColor() は、WindowFlag を渡すことができるインターフェイスを提供しません。
環境はMac OS X Lion、Qt 4.8.1です。