Короче говоря, simplegui - это упрощенный генератор графического интерфейса пользователя, использующий Tkinter. Я посещал курс Coursera под названием Введение в интерактивное программирование на Python (часть 1). Вы можете следить за упражнением, используя CodeSkulptor, который запускает программы Python в вашем браузере.
Или вы можете установить simplegui на свой компьютер и запустить его. В этом случае я собираюсь установить simplegui на компьютер MacOS с Python3.
Я пытался установить его с помощью pip3, но безуспешно
dnguyen$ sudo pip3 install simplegui Collecting simplegui Could not find a version that satisfies the requirement simplegui (from versions: ) No matching distribution found for simplegui
Поэтому мне пришлось зайти на главный сайт simplegui, загрузить пакет и запустить его на своей машине.
dnguyen$ python3 setup.py install Traceback (most recent call last): File "setup.py", line 23, in <module> import simplegui File "/Users/dnguyen/Downloads/simplegui-0.1.0/simplegui.py", line 31, in <module> import Tkinter ModuleNotFoundError: No module named 'Tkinter'
Оказалось, что модуль Tkinter имеет другое имя в MacOS, это tkinter. Вы можете протестировать это со своего терминала.
dnguyen$ python3 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import Tkinter Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'Tkinter' >>> import tkinter >>> tkinter._test() >>> exit()
Итак, я открыл загруженный пакет и заменил все Tkinter на tkinter. После этого переустанавливаю пакет simplegui. И вуаля: D
dnguyen$ sudo python3 setup.py install Warning: the cx_Freeze module could not be imported. You will not be able to build binary packages. regenerating MANIFEST.in for Python 2.x /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'executables' warnings.warn(msg) running install running build running build_py running install_lib copying build/lib/simplegui.py -> /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages byte-compiling /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/simplegui.py to simplegui.cpython-37.pyc running install_egg_info Writing /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/simplegui-0.1.0-py3.7.egg-info
Есть несколько предупреждений, но давайте разберемся с этим позже. Теперь вы можете попробовать создать для этого простой тест.
# simplegui-test.py import simplegui g = simplegui.GUI() def buttoncallback(): g.status("Button klicked!") g.button("Klick me!", buttoncallback) g.button("Klick me too!", buttoncallback) def listboxcallback(text): g.status("listbox select: '{0}'".format(text)) g.listbox(["one", "two", "three"], listboxcallback) g.listbox(["A", "B", "C"], listboxcallback) def scalecallback(text): g.status("scale value: '{0}'".format(text)) g.scale("Scale me!", scalecallback) g.run()
Вы можете запустить этот тест на MacOS, набрав эту строку на своем терминале.
python3 simplegui-test.py
Надеюсь это поможет :)