Форум сайта python.su
Здравствуйте! Хочу создать свой модуль для Python с использованием Tkinter. Это будет модуль для обучения детей програмирыванию. Но есть проблема! Только начал учить ООП, вот код:
from tkinter import * class Butterfly: def __init__(self, width=500, height=500, size=100): self.width=width self.height=height self.size=size self.canv=Canvas(root, width=self.width, height=self.height) self.canv.pack() self.x1=self.width/2-self.size/2 self.y1=self.height/2-self.size/2 self.x2=self.width/2+self.size/2 self.y2=self.height/2+self.size/2 self.canv.create_polygon(self.x1, self.y1, self.x2, self.y2, self.x2, self.y1, self.x1, self.y2, tag="butterfly", fill="light grey", outline="black", width=1) def move_right(self, key): self.canv.move("butterfly", key, 0)
from butterfly import * butt=Butterfly(400, 400, 50) butt.move_right(200)
Traceback (most recent call last): File "/media/yevhenii/8E24F95024F93BB1/Users/Yevhenii-PC-Windows/Desktop/butterfly.py", line 24, in <module> butt.move_right(200) File "/media/yevhenii/8E24F95024F93BB1/Users/Yevhenii-PC-Windows/Desktop/butterfly.py", line 20, in move_right self.canv.move("butterfly", key, 0) File "/usr/lib/python3.5/tkinter/__init__.py", line 2434, in move self.tk.call((self._w, 'move') + args) _tkinter.TclError: invalid command name ".3070977548"
Отредактировано Jeka_KOzolup1 (Окт. 6, 2017 22:41:39)
Офлайн
class Butterfly: def __init__(self, width=500, height=500, size=100): ..... self.canv=Canvas(root, width=self.width, height=self.height) .....
root = Tk()
сlass Butterfly: def __init__(self, root, width=500, height=500, size=100): .... self.canv=Canvas(root, width=self.width, height=self.height) ....
from tkinter import * from butterfly import * root = Tk() butt = Butterfly(root, 400, 400, 50) butt.move_right(100) root.mainloop()
[code python][/code]
Отредактировано PEHDOM (Окт. 9, 2017 12:45:42)
Офлайн
Как то странно что Вы собираетесь учить детей при этом сами только начали ООП …
Офлайн
PEHDOMСпасибо большое!!! Вы настоящий учитель!
JOHN_16На будущее, не смотря на то какой вы профессионал, надо быть скромным и компетентным. Я задал вопрос, а не просил высказать мнение про мои способности учителя)
Офлайн
Jeka_KOzolup1
На будущее, не смотря на то какой вы профессионал, надо быть скромным и компетентным. Я задал вопрос, а не просил высказать мнение про мои способности учителя)
Офлайн