介绍
QDialog类的子类主要有QMessageBox、QFileDialog、QFontDialog、QInputDialog等。
方法
方法描述
getOpenFileName()返回用户所选择文件的名称,并打开该文件getSaveFileName()使用用户选择的文件名并保存文件setFileMode()可以选择的文件类型,枚举常量是:QFileDialog.AnyFile,任何文件QFileDialog.ExistingFile,已存在的文件QFileDialog.Directory,文件目录QFileDialog.ExistingFiles,已经存在的多个文件setFilter()设置过滤器,只显示过滤器允许的文件类型
QFileDialog的使用
import sys
from PyQt5
.QtCore
import *
from PyQt5
.QtGui
import *
from PyQt5
.QtWidgets
import *
class filedialogdemo(QWidget
):
def __init__(self
, parent
=None):
super(filedialogdemo
, self
).__init__
(parent
)
layout
= QVBoxLayout
()
self
.btn
= QPushButton
("加载图片")
self
.btn
.clicked
.connect
(self
.getfile
)
layout
.addWidget
(self
.btn
)
self
.le
= QLabel
("")
layout
.addWidget
(self
.le
)
self
.btn1
= QPushButton
("加载文本文件")
self
.btn1
.clicked
.connect
(self
.getfiles
)
layout
.addWidget
(self
.btn1
)
self
.contents
= QTextEdit
()
layout
.addWidget
(self
.contents
)
self
.setLayout
(layout
)
self
.setWindowTitle
("File Dialog 例子")
def getfile(self
):
fname
, _
= QFileDialog
.getOpenFileName
(self
, 'Open file', 'c:\\',"Image files (*.jpg *.gif)")
self
.le
.setPixmap
(QPixmap
(fname
))
def getfiles(self
):
dlg
= QFileDialog
()
dlg
.setFileMode
(QFileDialog
.AnyFile
)
dlg
.setFilter
( QDir
.Files
)
if dlg
.exec_
():
filenames
= dlg
.selectedFiles
()
f
= open(filenames
[0], 'r')
with f
:
data
= f
.read
()
self
.contents
.setText
(data
)
if __name__
== '__main__':
app
= QApplication
(sys
.argv
)
ex
= filedialogdemo
()
ex
.show
()
sys
.exit
(app
.exec_
())
使用展示
后记
文件对话框QFileDialog,又过去了一天。
转载请注明原文地址: https://win8.8miu.com/read-1546620.html