PyQt5中使用QFileDialogShowDirsOnly()打开文件夹
发布时间:2023-12-12 15:33:32
PyQt5中的QFileDialog是一个用于打开和保存文件的对话框类。可以使用QFileDialog.getExistingDirectory()方法来打开一个文件夹选择对话框。
以下是一个使用QFileDialog.getExistingDirectory()方法的例子:
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QPushButton
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("QFileDialog Example")
self.setGeometry(300, 300, 400, 300)
self.button = QPushButton("Open Folder", self)
self.button.setGeometry(150, 150, 100, 30)
self.button.clicked.connect(self.openFolderDialog)
def openFolderDialog(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
folderPath = QFileDialog.getExistingDirectory(self, "Select Folder", "", options=options)
print(folderPath)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
在上面的例子中,我们创建了一个继承自QMainWindow的MainWindow类,窗口标题设置为"QFileDialog Example",窗口大小为400x300像素。
我们在窗口中添加了一个按钮,并设置按钮的大小和位置。按钮的点击事件连接到openFolderDialog()函数。
openFolderDialog()函数中,首先创建了一个QFileDialog.Options对象,并设置了QFileDialog.DontUseNativeDialog选项,以确保使用PyQt5的文件夹选择对话框。
接下来,我们调用QFileDialog.getExistingDirectory()方法来打开文件夹选择对话框。getExistingDirectory()方法的参数依次为父窗口、对话框标题、默认文件夹路径和选项。
最后,我们在控制台打印出所选文件夹的路径。
运行上述代码,点击按钮将会弹出文件夹选择对话框,选择一个文件夹后,所选文件夹的路径将会被打印到控制台中。
这是一个简单的例子,演示了如何使用QFileDialog.getExistingDirectory()方法在PyQt5中打开一个文件夹选择对话框。您可以根据自己的需求在此基础上进行扩展和定制。
