在你的 PyQt5 应用程序中,如果 QFileDialog
的对话框没有出现,这可能是因为默认情况下它使用了系统原生的对话框,而在某些情况下系统原生的对话框可能会因为多种原因无法弹出。其中一个原因可能是因为显示对话框的线程不是单线程单元(STA)线程。此外,如果你的电脑上安装了一些表现不稳定的 shell 扩展,也可能导致对话框无法显示。
你可以通过向 QFileDialog.getOpenFileName
方法添加 QFileDialog.DontUseNativeDialog
标志来避免使用系统原生的对话框,从而使用 PyQt 自己的对话框。这样做的代码示例如下:
file_name, _ = QFileDialog.getOpenFileName(self, "Select Matrix File", 'matrix_csv', "CSV Files (*.csv)", options=QFileDialog.DontUseNativeDialog)