如何检测用户是否点击了 GraphWin 中的屏幕?

How to detect that the user has clicked on the screen in a GraphWin?

我正在努力学习 Python。我需要这个循环一直滚动,直到我点击屏幕。

我尝试使用 win.getMouse 但它不起作用。

win = GraphWin("game of life", 600, 600)    
win.setCoords(-1, -3, s+1, s+1)

q = True
while q:
    board = iterate(board)
    x = 0
    while x < s:
        y = 0
        while y < s:
            update_color(x, y, board, rec)
            y = y + 1
        x = x + 1
    if win.getMouse():
        q = False

您可以改用 checkMouse()。它基本上检查用户是否点击了屏幕上的任何地方。

win = GraphWin("game of life", 600, 600)  
win.setCoords(-1, -3, s+1, s+1)

q = True
while q:
    board = iterate(board)
    x = 0
    while x < s:
        y = 0
        while y < s:
            update_color(x, y, board ,rec)
            y = y + 1
        x = x + 1
    if win.checkMouse() is not None:  # Checks if the user clicked yet
        q = False  # Better to use the break statement here

假设 http://mcsp.wartburg.edu/zelle/python/graphics/graphics/node2.html 是正确的并且您的其余代码是好的。

将 True 作为条件可确保代码运行直到被 n.strip() 中断等于 'hello'。

while True:
    n = raw_input("Please enter 'hello':")
    if n.strip() == 'hello':
        break

Python docs about while loop