0

在 Python 版本:2.7.5 中,我安装了 Zelle 的图形,但我不知道该怎么做,因为我试图在具有不同函数的函数中编辑非全局名称。这是我的代码示例。

from graphics import *
import time
keyPad=GraphWin("Key Pad",300,400)
def Game():
    Buttons()
    testFor_keyPad_press()
def Buttons():
    button1=Rectangle(Point(1,1),Point(100,100))
    button1.setFill('gold')
    button.draw(keyPad)
def testFor_keyPad_press():
    userInput=keyPad.getMouse()
    userInputX=str(userInput.getX())
    userInputY=str(userInput.getY())
    if(userInputX<101 and userInputY<100):
        button1.setFill('grey')
        keyPad.update()
        time.sleep(0.5)
        button1.setFill('gold')
        keyPad.update()
Game()

我认为这应该可行,但它给了我一个错误,说全局名称'button1'未定义......那么有没有办法可以在用户定义的函数“Buttons()”中编辑 button1?或者那不可能?请让我知道是否有办法做到这一点......所有的帮助都是

4

1 回答 1

0
def Buttons():
    global button1
    button1=Rectangle(Point(1,1),Point(100,100))
    button1.setFill('gold')
    button.draw(keyPad)

会让它在函数之外访问......但实际上你应该将你的逻辑封装在类中

于 2013-11-03T04:36:55.113 回答