PyQt5中的ShowDirsOnly()方法选择文件夹实例
发布时间:2023-12-12 15:37:11
在PyQt5中,QFileDialog类提供了一种选择文件或文件夹的对话框。QFileDialog的静态方法getExistingDirectory()用于选择文件夹,而静态方法getOpenFileName()用于选择文件。
然而,如果我们只想选择文件夹,而不是文件,可以使用QFileDialog的showDirsOnly()方法。showDirsOnly()是一个布尔值参数,表示对话框只显示文件夹。默认情况下,showDirsOnly()为False,即对话框显示所有文件和文件夹。
接下来,我将为您提供一个PyQt5的示例,演示如何使用showDirsOnly()方法来选择文件夹。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("Choose Directory Example")
btn = QPushButton("Choose Directory", self)
btn.move(50, 50)
btn.clicked.connect(self.chooseDirectory)
def chooseDirectory(self):
directory = QFileDialog.getExistingDirectory(self, "Choose Directory", "", QFileDialog.ShowDirsOnly)
print(directory)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
在这个例子中,我们创建了一个继承自QMainWindow的自定义窗口类MainWindow,并在其中添加一个按钮来选择文件夹。
当用户点击按钮时,我们调用了chooseDirectory方法。在这个方法中,我们使用QFileDialog的静态方法getExistingDirectory()来显示对话框,其中设置showDirsOnly参数为True,表示只显示文件夹。
在选择完文件夹后,我们通过print语句打印文件夹的路径。
要运行这个例子,确保您已经安装了PyQt5,并将上述代码保存在一个.py文件中。然后运行这个.py文件,会看到一个窗口和一个按钮。点击按钮后,会弹出一个选择文件夹的对话框,您可以选择一个文件夹。选择文件夹后,该文件夹的路径将被打印出来。
这个例子展示了如何使用PyQt5中的showDirsOnly()方法来选择文件夹。您可以根据自己的需要在自己的项目中应用该方法。
