3

(ユーザーの要求に応じて) 他のウィンドウの上にとどまる必要がある Qt アプリケーションがあります。アプリケーションの windowsFlags で Qt::WindowStaysOnTopHint を設定することでこれを達成しました。

しかし、QFileDialog のようなシステムモーダル QDialog 派生ダイアログを開くと、このダイアログは自分のアプリケーションの下にとどまります。すべてのダイアログを見つけて、Qt::WindowStaysOnTopHint で構築しようとすることができましたが、

  • 多数のダイアログがあるため、これは面倒です。
  • エラーが発生しやすいので、1 つでも見逃すと、
  • また、一部のダイアログでは、これがまったく機能しません。たとえば、QColorDialog::getColor() は、WindowFlag を渡すことができるインターフェイスを提供しません。

環境はMac OS X Lion、Qt 4.8.1です。

4

0 に答える 0