PyQt5ShowDirsOnly()方法选择文件夹示例
发布时间:2023-12-12 15:34:38
PyQt5是Python中使用的一个GUI库,可以用来创建图形用户界面应用程序。其中的QFileDialog类提供了一个对话框,用于选择文件或者文件夹。
在QFileDialog中,有一个方法叫做getExistingDirectory(),可以让用户选择一个文件夹。这个方法返回选中的文件夹的路径。
下面是一个使用PyQt5中的QFileDialog.getExistingDirectory()方法选择文件夹的示例:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Select Directory Example')
self.show()
def ShowDirsOnly(self):
# 获取文件夹路径
directory = QFileDialog.getExistingDirectory(self, "选择文件夹", "~/Desktop", QFileDialog.ShowDirsOnly)
# 如果用户点击了取消按钮,则返回空字符串
if directory:
print(f"选择的文件夹路径为:{directory}")
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.ShowDirsOnly()
sys.exit(app.exec_())
在这个示例中,我们创建了一个继承自QWidget的Example类。在Example类的initUI()方法中设置了窗口的大小和标题,并将其显示出来。
在Example类中还定义了一个名为ShowDirsOnly()的方法。这个方法主要用来调用QFileDialog.getExistingDirectory()方法并获取选择的文件夹路径。
当点击按钮时,程序会弹出一个文件夹选择对话框。在这个对话框中,只能选择文件夹,而不能选择文件。用户选择了文件夹之后,选择的文件夹路径会被打印出来。
需要注意的是,在传递参数给QFileDialog.getExistingDirectory()方法时,我们使用了QFileDialog.ShowDirsOnly参数。这个参数用来设置只显示文件夹,而不显示文件。
添加示例代码后,你可以运行程序,并点击按钮选择一个文件夹。选中的文件夹路径将会被打印出来。
通过这个示例,你可以学会使用PyQt5中的QFileDialog.getExistingDirectory()方法选择文件夹,并且设置只能显示文件夹的效果。
