Python中使用QFileDialogShowDirsOnly()选择目录
发布时间:2023-12-12 15:35:39
在Python中,可以使用QFileDialog类中的getExistingDirectory()方法来选择目录。该方法可以显示一个文件对话框,只能选择目录,而不能选择文件。以下是一个例子:
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog
import sys
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200)
self.setWindowTitle('Directory Selector')
self.selectBtn = QPushButton('Select Directory', self)
self.selectBtn.setGeometry(50, 50, 200, 30)
self.selectBtn.clicked.connect(self.selectDirectory)
def selectDirectory(self):
selected_dir = QFileDialog.getExistingDirectory(self, 'Select Directory', 'C:\\', options=QFileDialog.ShowDirsOnly)
if selected_dir:
print(f'Selected Directory: {selected_dir}')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
在上面的代码中,我们创建了一个基于QMainWindow的窗口类MyWindow,其中包含一个按钮selectBtn,点击该按钮会打开一个文件对话框来选择目录。
在selectDirectory方法中,我们使用QFileDialog.getExistingDirectory()方法来弹出一个文件对话框。通过options参数,我们可以指定对话框只显示目录。
在代码中,我们还打印了选择的目录路径。
在终端中运行该程序,点击"Select Directory"按钮后,会弹出一个文件对话框,只能选择目录。选定目录后,会在终端中打印出目录路径。
这就是使用QFileDialog选择目录的简单示例。
