我一直在使用Summerfields关于使用Python和QT快速GUI编程的书... pyqt是精确的,但2007年的书使用版本4.something我试图使用当前版本5.4.2. .
我想弄清楚有一些变化,并希望得到一些如何找到东西的帮助.以下是文件保存对话框的示例 - 来自书籍:
fname = QFileDialog.getSaveFileName(self,
"Image Changer - Save Image", fname,
"Image files ({})".format(" ".join(formats)))
Run Code Online (Sandbox Code Playgroud)
这不起作用,可能主要是因为在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()
Run Code Online (Sandbox Code Playgroud)
哇,它的作品!但正是因为我正在努力,我才取得任何进展.我尝试运行python解释器并输入:
from PyQt5.QtWidgets import QFileDialog
help(QFileDialog)
Run Code Online (Sandbox Code Playgroud)
这是(有点)有用,但帮助的语法对我来说没有多大意义,我也看不出getSaveFileName应该返回什么.这有点乏味 - @ $$的东西.
我错过了什么?