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()
我正在使用 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()