1

以前のバージョンの Qt では、次のファイル ダイアログのコンストラクタを使用できました。

QFileDialog(QWidget * parent = 0, const char * name = 0, bool modal = FALSE)

ということで、ノンモーダルなファイルダイアログを作ることができたようです。しかし、現在 (Qt5 では) コンストラクターにそのようなパラメーターはありません。また、QFileDialogはandを無視setWindowModality(Qt::NonModal);setModal(false);ます(チェックした場合windowModality() == Qt::NonModal && isModal() == false、ファイルダイアログウィンドウはまだモーダルです)。

私のファイルダイアログを非モーダルにする方法についてのアイデアはありますか?

詳細: 私のファイル ダイアログは QFileDialog から継承されました。それは完全に期待どおりに機能します。必要なのは非モーダルにすることだけですが、SOとqt-projectで解決策が見つかりません。前もって感謝します。

4

1 に答える 1

4

「問題」は、関数を呼び出してファイルダイアログをモーダルウィンドウとして開くことですQDialog::open()。のQtドキュメントによるとQDialog::open()

ダイアログをウィンドウ モーダル ダイアログとして表示し、すぐに戻ります。

ファイル ダイアログを非モーダルにするには、単純に で開きますQDialog::show()

于 2014-06-18T07:55:15.823 に答える