1 File dialog box QFileDialog
Select the folder QFileDialog.getExistingDirectory()
Select the file QFileDialog.getOpenFileName()
Select multiple files QFileDialog.getOpenFileNames()
Select the save file QFileDialog.getSaveFileName()
注意:文件筛选参数设置。文件扩展名过滤,用双分号间隔。
"All Files (*);;PDF Files (*.pdf);;Text Files (*.txt)
Return file path and file type
Test code
import sys
import os
from PyQt5.QtWidgets import *
class MainForm(QWidget):
def __init__(self, name = 'MainForm'):
super(MainForm,self).__init__()
self.setWindowTitle(name)
self.cwd = os.getcwd() # 获取当前程序文件位置
self.resize(300,200) # 设置窗体大小
# 设置按钮
self.btn_chooseFile = QPushButton(self)
self.btn_chooseFile.setObjectName("btn_chooseFile")
self.btn_chooseFile.setText("选取文件")
# 设置布局
layout = QVBoxLayout()
layout.addWidget(self.btn_chooseFile)
self.setLayout(layout)
# 设置信号
self.btn_chooseFile.clicked.connect(self.slot_btn_chooseFile)
def slot_btn_chooseFile(self):
fileName_choose, filetype = QFileDialog.getOpenFileName(self,
"选取文件",
self.cwd, # 起始路径
"All Files (*);;Text Files (*.txt)") # 设置文件扩展名过滤,用双分号间隔
if fileName_choose == "":
print("\n取消选择")
return
print("\n你选择的文件为:")
print(fileName_choose)
print("文件筛选器类型: ",filetype)
if __name__=="__main__":
app = QApplication(sys.argv)
mainForm = MainForm('测试QFileDialog')
mainForm.show()
sys.exit(app.exec_())