繁体   English   中英

QFileDialog getSaveFileName过滤器仅特定驱动器

[英]QFileDialog getSaveFileName filter only specifc drive

我使用的是pyqt,我做了一个Qfiledialog来保存程序生成的PDF,如下所示:

QtGui.QFileDialog.getSaveFileName(self, "Save file", "", ".pdf")

但是文件必须保存在“ P:\\”的任何文件夹中,但必须为“ P:”。 我怎样才能做到这一点?

您需要directoryEnteredfileSelected信号,而不是模式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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM