我敢肯定这已经被问了一百万次了,但是当你不知道正确的术语时很难搜索到一些东西:(
我正在尝试(再次......我从来没有理解过面向对象,因为我在 8 年前被教得很糟糕,并且尽可能地避免它,这让我认识的所有其他程序员都感到恐惧——我的想法并不似乎完全可以得到它)同时自学OO和PyQt。
我什至不知道这在逻辑上是否可行,但我有一个 PyQt动作,它被 2 个不同的东西引用;动作的参数之一是图标。当其中一件事调用的动作时,我想更改图标;代码片段:
self.menu()
self.toolbar()
self.actions()
def menu(self):
self.fileMenu = QtGui.QMenu("&File", self)
self.fileMenu.addAction(self.exitAct)
def toolbar(self):
self.toolbar = self.addToolBar("Exit")
self.toolbar.addAction(self.exitAct)
def actions(self):
self.exitIcon = QtGui.QIcon('exit.png')
self.exitAct = QtGui.QAction(self.exitIcon, "&Exit", self, triggered=self.close)
在工具栏中,我想要一个不同的图标 ( exitdoor.png
)。的文档QtIcon
有一个addFile
方法,所以我尝试了:
self.toolbar.addAction(self.exitAct)
self.exitIcon.addFile("exitdoor.png")
但这不起作用,出现错误(“'QToolBar'对象没有属性'addFile'”),并且
self.exitAct.addFile("exitdoor.png")
错误“QAction”对象没有属性“addFile”(我明白为什么这不起作用以及错误意味着什么)。
我的愚蠢错误是什么?!(除了让自己经历继续尝试和学习OO的痛苦的错误......)