我正在尝试一些pygtk教程并遇到了一个看似明显的新手错误,但是对于我的生活无法弄清楚这里发生了什么。
错误:
Traceback (most recent call last): File "main.py", line 8, in class Base: File "main.py", line 61, in Base cv.set_line_width(9) NameError: name 'cv' is not defined
代码:
def expose(self, widget, data=None):
cv = widget.window.cairo_create()
cv.set_line_width(9)
cv.set_source_rgb(0.7, 0.2, 0.0)
w = self.window.allocation.width
h = self.window.allocation.height
cv.translate(w/2, h/2)
cv.arc(0, 0, 50, 0, 2*math.pi)
cv.stroke_preserve()
cv.set_source_rgb(0.3, 0.4, 0.6)
cv.fill()
以下是完整来源:http://gist.github.com/655728
答案 0 :(得分:1)
你在github的代码是:
def expose(self, widget, data=None):
selcv = widget.window.cairo_create()
cv.set_line_width(9)
cv.set_source_rgb(0.7, 0.2, 0.0)
...这肯定会解释为什么在尝试访问时未定义cv。
答案 1 :(得分:0)
通过切换到4空格缩进而不是制表符并重新缩进整个文件来解决这个问题。
奇怪的事情发生了,gedit显示了一切很好的缩进,而Netbeans显示了缩进的罪魁祸首
答案 2 :(得分:0)
文件中有多个标签和空格。