【发布时间】:2015-06-19 05:53:47
【问题描述】:
我一直在阅读 Summerfields 关于使用 Python 和 QT 进行快速 GUI 编程的书(更准确地说是 PyQt),但是 2007 年的书使用 4.x 版,我正在尝试使用当前版本( 5.4.2)。
我正在尝试找出一些更改,并希望在如何查找内容方面获得一些帮助。这是文件保存对话框的示例 - 来自书中:
fname = QFileDialog.getSaveFileName(self,
"Image Changer - Save Image", fname,
"Image files ({})".format(" ".join(formats)))
这不起作用,可能主要是因为在 PyQt5 中 QFileDialog 返回一个元组而不是一个字符串。我能弄清楚这一点的唯一方法就是反复试验。 PyQt5 文档把你引到 QT,我真的不明白。
我得到了以下工作:
fname = QFileDialog.getSaveFileName(self, 'some text',
"whatever.png", '*.png')
if "." not in fname[0]:
fname[0] += ".png"
self.addRecentFile(fname[0])
self.filename = fname[0]
return self.fileSave()
哇,好用!但只是通过努力,我得到了任何进展。 我尝试运行 python 解释器并输入:
from PyQt5.QtWidgets import QFileDialog
help(QFileDialog)
这(有点)有帮助,但帮助的语法对我来说没有多大意义,而且我看不出 getSaveFileName 应该返回什么。
我错过了什么?
【问题讨论】:
-
这可以帮助你:Reading the Qt Documentation。只是信号和插槽不是最新的(函数
connect)。 -
@tmoreau。这似乎来自 2001 年为 PyQt3 写的一本书。
标签: python pyqt pyqt5 pyside qfiledialog