单个文件打开 QFileDialog.getOpenFileName()
多个文件打开 QFileDialog.getOpenFileNames()
文件夹选取 QFileDialog.getExistingDirectory()
文件保存 QFileDialog.getSaveFileName()
上面四个为常用标准文件打开保存框,建议先看代码
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QFileDialog
class MyWindow(QtWidgets.QWidget):
def __init__(self):
super(MyWindow, self).__init__()
self.myButton=QtWidgets.QPushButton(self)
self.myButton.setObjectName("btn")
self.myButton.setText("按钮")
self.myButton.clicked.connect(self.msg)
def msg(self):
directory1=QFileDialog.getExistingDirectory(self,"请选择文件夹","/")
print(directory1)
fileName,filetype=QFileDialog.getOpenFileName(self,"选择文件",directory1,"Image File (*.jpg)")
print(fileName,filetype)
files,ok1=QFileDialog.getOpenFileNames(self,"多文件选择","/","All Files (*);;Text Files (*.txt)")
fileName2,ok2=QFileDialog.getSaveFileName(self,"文件保存","/","All Files (*);;Text Files(*.txt)")
if __name__=="__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
myshow = MyWindow()
myshow.show()
sys.exit(app.exec_())
第一个参数parent,用于指定父组件。注意,很多Qt组件的构造函数都会有这么一个parent参数,并提供一个默认值0,这里一般填 self父类;
第二个参数caption,是对话框的标题;
第三个参数dir,是对话框显示时默认打开的目录,"."代表程序运行目录,"/"代表当前盘符下根目录,注意,这里跟平台有关,例如windows可填"C:\\"等,Linux下填写"/"根目录
第四个参数Filter,是对话框后缀名过滤器,有Image File(*.jpg *png)就让他只能显示后缀名是jpg或者是png的文件。Text Files(*.txt)代表后缀名为.txt的文件。All Files(*)则代表是各种类型的文件。如果需要使用多个过滤器,使用";;"分割,比如"JPEG Files(*.jpg);;PNG Files(*.png)";