我正在使用pyqt而我刚刚创建了一个Qfiledialog来保存我的程序生成的PDF,如下所示:
QtGui.QFileDialog.getSaveFileName(self, "Save file", "", ".pdf")
但是文件必须保存在任何文件夹中的“P:\”,但必须是“P:”。 我怎么能这样做?
答案 0 :(得分:1)
您需要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()