[英]PyQt4: Using QFileDialog() to save files not QFileDialog().getSaveFileName()
[英]QFileDialog getSaveFileName filter only specifc drive
我使用的是pyqt,我做了一个Qfiledialog来保存程序生成的PDF,如下所示:
QtGui.QFileDialog.getSaveFileName(self, "Save file", "", ".pdf")
但是文件必须保存在“ P:\\”的任何文件夹中,但必须为“ P:”。 我怎样才能做到这一点?
您需要directoryEntered
和fileSelected
信号,而不是模式getSaveFileName
。 一些伪代码:
self.dialog = QtGui.QFileDialog()
self.dialog.directoryEntered.connect(self.checkDir)
self.dialog.fileSelected.connect(self.saveFile)
self.dialog.setAcceptMode(QFileDialog.AcceptSave)
self.dialog.setFileMode(QFileDialog.AnyFile)
self.dialog.setDirectory("P:")
self.dialog.show()
....
def checkDir(self, directory):
if not (directory.startsWith("P:")):
self.dialog.setDirectory("P:")
def saveFile(self, fileName):
directory = QtCore.QFileInfo(fileName).canonicalPath()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.