在pyqt中,有打开文件夹、打开特定文件名、打开多个文件、保存文件这四个功能,下面将详细阐述
'''打开文件'''
def openFile(self):
#其中self指向自身,"读取文件夹"为标题名,"./"为打开时候的当前路径
directory1 = QFileDialog.getExistingDirectory(self,
"选取文件夹",
"./") # 起始路径
print(directory1)
然后使用一个pushButton调用该函数
self.btn_openFile.clicked.connect(self.openFile)
def readFile(self):
#self指向自身,"Open File"为文件名,"./"为当前路径,最后为文件类型筛选器
fname,ftype = QFileDialog.getOpenFileName(self, "Open File", "./", "All Files(*);;Wav(*.wav);;Txt (*.txt)")#如果添加一个内容则需要加两个分号
# 该方法返回一个tuple,里面有两个内容,第一个是路径, 第二个是要打开文件的类型,所以用两个变量去接受
# 如果用户主动关闭文件对话框,则返回值为空
if fname[0]: # 判断路径非空
f = QFile(fname[0]) # 创建文件对象,不创建文件对象也不报错 也可以读文件和写文件
# open()会自动返回一个文件对象
f = open(fname[0], "r") # 打开路径所对应的文件, "r"以只读的方式 也是默认的方式
with f:
data = f.read()
print(data)
#self.textEdit.setText(data)
f.close()
调用函数
self.pushButton_readFile.clicked.connect(self.readFile)
def openFile(self):
files = QFileDialog.getOpenFileNames(self,
"多文件选择",
"./",
"All Files (*);;Text Files (*.txt)")
print(files, ok1)
def openFile(self):
fileName2, ok2 = QFileDialog.getSaveFileName(self,
"文件保存",
"./",
"All Files (*);;Text Files (*.txt)")
更详细的用法,可以看一下我用文件读取做的一个简单的demo:
用pyqt5做一个简易的音乐播放器
更多:
pyqt中QTimer的使用介绍以及简单用例