Как выйти из программы с графическим интерфейсом, щелкнув мышью в Python? - PullRequest
0 голосов
/ 01 ноября 2018
from graphics import *
def main():
    win = GraphWin("Shapes")
    center = Point(100, 100)
    circ = Circle(center, 30)
    circ.setFill("red")
    circ.draw(win)

    time.sleep(6) 

main()

Итак, я установил (едва каким-то образом) graphics.py Джона Зелла, чтобы я мог следовать его книге (Введение в компьютерные науки) для главы 5 «Объекты и графика».

Я пишу весь свой код в редакторе Sublime Text, и когда я хочу скомпилировать, я иду на cmd и набираю: python "name_of_file".py и запускаю программу таким образом. В этом пакете есть объект Window, который создается путем вызова GraphWin() (здесь все будет нарисовано во всей главе), но этот объект остается видимым всего на доли секунды (я думаю, потому что main() выполняется и поэтому это сделано).

Напротив, если я наберу весь требуемый код (из этого пакета) в cmd, этот объект Window (и все, что на нем) остается видимым все время.

Набирать cmd очень неудобно. Есть ли что-то, что я могу напечатать внутри main (), чтобы моя работа (объект Window и все остальное) была видна, пока, скажем, я не щелкну мышью или нажму Enter? Я не знаю, как реализовать это в Python.

1 Ответ

0 голосов
/ 01 ноября 2018

Используйте метод getMouse () объекта GraphWin. Он будет ждать, пока вы не нажмете, чтобы продолжить выполнение.

from graphics import *
def main():
    win = GraphWin("Shapes")
    center = Point(100, 100)
    circ = Circle(center, 30)
    circ.setFill("red")
    circ.draw(win)

    win.getMouse()

main()
...