1、QFileDialog----信号:
?当前路径发生改变时发射的信号:
def test():
fd = QFileDialog(self, "选择一个文件", "./", "All(*.*);;Images(*.jpg *.png);; python文件(*.py)")
fd.show()
fd.setFileMode(QFileDialog.Directory)
# 系统从内部向外界发射信号时,是由他决定,与槽函数的顺序无关
# fd.currentChanged.connect(lambda path: print("当前路径字符串发生改变时", path))
# fd.currentUrlChanged.connect(lambda url: print("当前路径URL发生改变时", url))
# 打开选中文件夹时发射的信号
fd.directoryEntered.connect(lambda path: print("当前目录字符串进入时", path))
fd.directoryUrlEntered.connect(lambda url: print("当前目录URL进入时", url))
btn.clicked.connect(test)
选择名称过滤器时所发射的信号:
fd.filterSelected.connect(lambda filter: print("当前名称过滤字符串被选中时", filter))
fd.fileSelected.connect(lambda val: print("单个文件被选中---字符串", val))
fd.filesSelected.connect(lambda val: print("多个文件被选中---列表[字符串]", val))
fd.urlSelected.connect(lambda val: print("单个文件被选中---url", val))
fd.urlsSelected.connect(lambda val: print("多个文件被选中---url", val))
?设置为多个文件被选中模式:(最终打印结果与文件选择个数有关,与文件模式无关)
fd.setFileMode(QFileDialog.ExistingFiles)
fd.fileSelected.connect(lambda val: print("单个文件被选中---字符串", val))
fd.filesSelected.connect(lambda val: print("多个文件被选中---列表[字符串]", val))
fd.urlSelected.connect(lambda val: print("单个文件被选中---url", val))
fd.urlsSelected.connect(lambda val: print("多个文件被选中---url", val))
|