好的,我有两个现在不能启动的应用程序,一个重要的应用程序和一个测试应用程序,测试一个曾经运行的应用程序,但现在它说:AttributeError: 'StartQt4' object has no attribute 'filename'
因此,我不知道为什么会发生这种情况,只有当我尝试使用保存功能或打开功能时才会发生这种情况。
以下是该应用程序的启动代码:
Link to the code
现在,重要的应用程序是用于学校的一个项目,我已经用PyQt制作了它,并尝试使用以下代码启动它:Code
如果你需要的ui文件到第二个代码,只要问,我会张贴一个DL链接。
我很乐意让这两个都能工作,很快!关于一些好的PyQt教程有什么建议吗?它们还必须与Python 3兼容……
发布于 2011-10-03 17:23:08
在它工作和不工作之间,你做了什么改变?
对于不知道Ui_LQNotepad类做什么的测试代码,很难说,但是QMainWindow对象没有filename属性,所以给定的代码永远不会工作。我怀疑您可能指的是self.ui.filename,但我不能肯定地说Ui_LQNotepad类具有filename属性。在代码中搜索filename,你会发现你只读过这个属性,从来没有设置过它。这个文件名应该从哪里来?
我不清楚你的测试应用程序和主要代码的区别,它们看起来几乎一样,所以我认为这也适用于你的测试应用程序。
请不要说,在未来它是有帮助的,如果你张贴完整的回溯以及异常消息。
发布于 2011-10-03 17:32:08
答案是例外:'StartQt4‘对象没有'filename’属性。
只需在__init__中添加filename属性即可。
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_LQNotepad()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.button_open,QtCore.SIGNAL("clicked()"), self.file_dialog)
QtCore.QObject.connect(self.ui.button_save,QtCore.SIGNAL("clicked()"), self.file_save)
QtCore.QObject.connect(self.ui.charInput,QtCore.SIGNAL("textChanged()"), self.enable_save)
self.filename = ""
self.ui.button_save.setEnabled(False)发布于 2011-10-04 11:26:16
修复了,其中一个问题是,在测试代码中,包含教程的网站实际上有一个错误,所以我自己找到了它,并且我的项目代码在导入一个无用的模块时出现了问题,这只会导致错误。
https://stackoverflow.com/questions/7632537
复制相似问题