所以我已经开始在python中使用类,我仍然在学习它是如何工作的。所以在我的代码的这一部分,我找到了一些我不理解的东西。
def Button(self):
self.Button = QPushButton("Push me Bitch!",self)
self.Button.setGeometry(QtCore.QRect(500, 500, 5, 5))
self.Button.resize(self.Button.minimumSizeHint())
self.Button.clicked.connect(self.ButtonPress(someInput))
# Do functions
def ButtonPress(self , someInput):
print('someInput')
self.OutputBox1.setText('I Has Been Pressed!')
这是我得到的错误:
Traceback (most recent call last):
File "C:\Users\Gebruiker\Desktop\Python shizzle\BijHillen\BijGui.py", line 92, in <module>
ex = Example()
File "C:\Users\Gebruiker\Desktop\Python shizzle\BijHillen\BijGui.py", line 40, in __init__
self.Button()
File "C:\Users\Gebruiker\Desktop\Python shizzle\BijHillen\BijGui.py", line 68, in Button
self.Button.clicked.connect(self.ButtonPress(5))
File "C:\Users\Gebruiker\Desktop\Python shizzle\BijHillen\BijGui.py", line 74, in ButtonPress
self.OutputBox1.setText('I Have Been Pressed!!!')
AttributeError: 'Example' object has no attribute 'OutputBox1'
如果我删除了someInput。那就没问题了。这是如何工作的?
祝你好运
答案 0 :(得分:1)
您的事件设置错误,当您将事件附加到某个按钮时,您通常希望将该功能而不是该功能的结果链接到clicked
事件。
而不是:
self.Button.clicked.connect(self.ButtonPress(someInput))
你想:
self.Button.clicked.connect(self.ButtonPress)
这样,单击按钮时将调用该函数。
您的代码可能还有其他一些问题,但首先要解决这个问题。