窗口子控件:①按钮控件,用于弹出文件对话框;②文本编辑框用于编辑测试;③设置子控位置及大小。
使用QFileDialog类来创建一个文件对话框,它继承自QDialog类。使用open(),如图例;----将对话框代码封装进一个实例方法file_open();----实例一行文件对话框;并用open()方法显示;----'打开文件'按钮的clicked信号连file_open;----点击按钮打开一个文件对话框,默认是打开当前的工作文件夹;
QFileDialog初始属性有以下参数:QFileDialog(parent, captionr= '', directory= '', filter = '')①parent,父控件;②caption= '', 标题(字符串);③directory= '', 打开路径(字符串);----默认是当前文件夹;“./”----也可直接写计划的文件路径作为默认路径;④filter ='',过滤器(字符串)选择,----格式是:说明(* . 后缀),如:text(*.txt),----一个过滤器有多个类型,用空格隔开,如:photo(*.jpg *.png)----如有多个用连续的两个分号隔开;text(*.txt);; photo(*.jpg *.png);如图例:设置打开后的默认设置。
①使用:setAcceptMode(self, QFileDialog.AcceptMode)设置对话框模式。参数如下:----QFileDialog.AcceptOpen= 0;打开文件模式;默认是此模式,可省略; ----QFileDialog.AcceptSave=1;保存文件模式;②使用: acceptMode()返回文件的现有模式;
文件路径的获取;----使用fileSelected()信号,获取单个文件,它会向外传递一个当前选择的文件的路径; ----定义一个槽函数,一个参数用来接收选择的文件路径;如图例;输出了选择的文件路径。
有了文件路径,就可以做后续的操作。如打开选择的文件。
再例如:读取选择的文件,将内容添加到文本框。
①使用:setAcceptMode(self, QFileDialog.AcceptMode)设置保存文件对话框模式。②当点击保存按钮,fileSelected()信号传递的是文件对话框输入的文件名路径。
可以根据此路径,保存文件,例如图例中将文本编辑框的内容的内容,保存为 txt 文件。----打开文件看到,文本框的内容已被保存为 txt 文件。
显示和选择模式:setFileMode(self, QFileDialog.FileMode);参数如下:---AnyFile =0 ;可选任何文件。默认是0模式 ---ExistingFile =1;可选现有文件。单个现有文件的名称。 ---Directory =2;目录。目录的名称。同时显示文件和目录。 ---ExistingFiles =3;可选现有文件。零个或多个现有文件的名称。 ---DirectoryOnly = 4;仅使用目录。 例如要想一次选择多个文件:---设置为 ExistingFiles=3模式;---使用filesSelected()信号,获取多个文件,它会向外传递一个当前选择的所有文件的路径的列表;
设置文件保存的默认后缀名。设置后,在保存文件时不需要输入后缀名,或选择保存类型。
open(self, PYQT_SLOT=None)显示对话框,打开文件;①此方法在点击’打开‘按钮,关闭对话框后,连接一个槽函数,并能执行一系列的操作。②定义一个槽函数,作为open的参数。③在槽函数内使用 selectedFiles(),获取选中的文件的路径。
open(self, PYQT_SLOT=None)显示对话框,保存文件; ① 设置对话框为保存文件,qfd.setAcceptMode(QFileDialog.AcceptSave)②保存后关闭对话框,获取保存的文件名。