找不到我的程序错误的原因

2024-09-29 23:32:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个问题,在我的执行不断调用一个错误,使我无法执行我的程序在所有。 我的错误消息是,“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_()

Tags: fromimportselfinitdefshow错误parent
1条回答
网友
1楼 · 发布于 2024-09-29 23:32:23

你的错误是在你的mainWindow对象上没有updateMenu()方法,如果你的代码如你的问题所示,@jon clements是对的,你应该在你的类中排列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.setShowBtn.clicked.connect(self.updateMenu)

    def updateMenu(self):
        print('working')

app = QApplication(sys.argv)
form = mainWindow()
form.show()
app.exec_()

我没有pyqt4了,所以我不能按原样测试你的代码,但它看起来不错,对我来说很有用。你知道吗

相关问题 更多 >

    热门问题