У меня возникла эта проблема, при которой мое выполнение продолжает вызывать ошибку, что делает невозможным выполнение моей программы вообще. Мое сообщение об ошибке: объект 'mainWindow' не имеет атрибута 'updateMenu'Невозможно найти причину ошибки в моей программе
Но я попытался определить его в предыдущей части, но я не могу заставить его работать.
Может ли кто-нибудь сказать мне, где я ошибаюсь?
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class mainWindow(QDialog):
def __init__(self, parent=None):
super(mainWindow, self).__init__(parent)
self.updateMenu()
self.setShowLbl = QLabel('Show Name')
self.setShowTxt = QLineEdit()
self.setShowBtn = QPushButton('Set Show')
gridLayout01 = QGridLayout()
gridLayout01.addWidget(self.setShowLbl,0,0)
gridLayout01.addWidget(self.setShowTxt,0,1)
gridLayout01.addWidget(self.setShowBtn,0,2)
self.setLayout(gridLayout01)
self.setWindowTitle("Set Shot")
self.connect(self.setShowBtn, SIGNAL('clicked()'), self.updateMenu)
def updateMenu(self):
print('working')
app = QApplication(sys.argv)
form = mainWindow()
form.show()
app.exec_()
В вашем коде дважды проверьте, что 'def updateMenu (self):' выравнивается с 'def __init __ (self, parent = None)' - если ваш код показан так, то вы определяете 'updateMenu' ** внутри ** ваш '__init__' ... –
Пасс ... никогда не использовал Qt - и я думаю, что это, вероятно, вопрос стиля/вкуса - я бы рекомендовал найти некоторые проекты с открытым исходным кодом, которые его используют, и получить оттуда руководство. Конечно, вы также можете задать новый вопрос, объясняющий, что вы пытаетесь сделать с помощью [sscce] (http://sscce.org/). –