Python编码错误,未定义“我的窗口”

时间:2019-02-06 12:25:58

标签: python raspberry-pi

我是编码的新手,已经阅读过树莓派教育手册。我已经上传了适用于Python的PySide,并对其进行了测试,以确保其正常运行。Picture of Code I entered from manual ...运行图像中显示的程序时,出现“ NameError:name'My Window'is not defined”。我确定我没有打错字并逐字张贴了此代码(好吧,我以为我做到了:( ...)。我很抱歉这是否与之前提出的问题类似;我在google上进行了高级搜索,找不到对于该特定问题的任何结果,我将专注于解决此问题并在手册中继续前进。谢谢MitchellB。 这是粘贴的代码:

import sys
from PySide.QtGui import *

class MyWindow(QWidget):
    def __init__(self):
        super(MyWindow,self).__init__()

        self.setWindowTitle('Window Events')

        self.label = QLabel('Read me', self)

        button = QPushButton('Push Me', self)
        button.clicked.connect(self.buttonClicked)

        layout = QVBoxLayout(self)
        layout.addWidget(button)
        layout.addWidget(self.label)

        self.setMouseTracking(True)

    def buttonClicked(self):
        """ Update the text when the button is clicked """
        self.label.setText("Clicked")

    def mouseMoveEvent(self, event):
        """
        Update the text when the (tracked) mouse moves over MyWindow
        """
        self.label.setText(str(event.x()) + "," + str(event.y()))

    application = QApplication(sys.argv)

    widget = MyWindow()

    widget.show()

    application.exec_()

完整的错误消息:

Traceback (most recent call last): File "/home/pi/Gettingartistic.py", line 5, in <module> class MyWindow(QWidget): File "/home/pi/Gettingartistic.py", line 44, in MyWindow widget = MyWindow() NameError: name 'MyWindow' is not defined

1 个答案:

答案 0 :(得分:0)

我相信你

application = QApplication(sys.argv)

widget = MyWindow()

widget.show()

application.exec_()

部分应该缩进。当前,它是类定义的一部分,请记住,在python中,缩进很重要。

截至目前,由于该部分是MyWindow()类定义的一部分,因此尚未在语句MyWindow上创建类widget = MyWindow(),因此将其抛出一个例外。