Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 2
Регистрация: 03.12.2013
Сообщений: 13

Как правильно создать класс и переместить кружок?

24.01.2014, 02:05. Показов 1126. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Задача такая: на поле есть 5 кружков. Нужно чтобы при нажатии на него кружок он менял месторасположение на другое произвольное.
Загвоздка в том, что у меня никак не получается сделать так, чтобы событие срабатывало при нажатии на кружок, я как-то не так создаю класс и событие не получается вызвать. Подскажите, пожалуйста!

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import random
import Tkinter as tk
 
screen_w = screen_h = 500
balls = []
 
class Ball(object):
 
    def __init__(self, x, y, color):
        self.x = x
        self.y = y
        self.radius = 50
        self.color = color
        
        x1, y1 = self.x - self.radius, self.y - self.radius
        x2, y2 = self.x + self.radius, self.y + self.radius
        canvas.create_oval(x1, y1, x2, y2, outline = color)
 
  
 
        def on_click(self, event): 
            z = random.randint(0, 500)
            w = random.randint(0, 500)
            canvas.coords(self, z, w)   
 
 
if __name__ == "__main__":
    root = tk.Tk()
    canvas = tk.Canvas(root, width=screen_w, height=screen_h)
    canvas.pack(fill = "both")
  #  canvas.bind("<1>", on_click)
 
    balls = [Ball(100, 100), Ball(200, 150), Ball(300, 200), \
             Ball(120, 450), Ball(400, 170)]     
 
    root.mainloop()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.01.2014, 02:05
Ответы с готовыми решениями:

Как правильно переместить DestroyWindow в класс NativeMethods
VB Net 2010 Обьявил функцию Private Declare Function DestroyWindow Lib &quot;user32&quot; (ByVal hWnd As Int32) As Int32 Выскакивает...

Создать класс, а в нём метод который будет рисовать кружок
Нужно создать класс, а в нём метод который будет рисовать кружок, потом когда будет щелчек на форме нужно будет в месте клика вызывать...

Как сделать чтобы кружок который зарисовывает первый кружок был цвета картинки
Как сделать чтобы кружок который зарисовывает первый кружок был цвета картинки. сейчас у меня так paintbox1.Canvas.pen.Color:=ClBtnFace; ...

2
Z3JheSBoYXQ=
 Аватар для fanatdebian
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
24.01.2014, 15:00
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env python
#coding: utf-8
 
import Tkinter as tk
 
 
class Simple():
  def __init__(self):
    self.root = tk.Tk()
    self.root.title('Simple example')
    self.root.geometry('400x500')
    self.canvas=tk.Canvas(self.root)
    self.text = self.canvas.create_text(30,20, text='simple text status', fill="white")
    self.circle = self.canvas.create_oval(200,200,50,50,fill='green')
    self.canvas.pack()
 
  def eventOn(self, event):
    self.canvas.itemconfigure(self.text, text=(event.x,':', event.y))
 
  def eventLeftClick(self, event):
    self.canvas.itemconfigure(self.circle, fill="red")
 
  def eventRightClick(self, event):
    self.canvas.itemconfigure(self.circle, fill="green")
 
  def run(self):
    self.canvas.tag_bind(self.circle,'<Motion>', self.eventOn)
    self.canvas.tag_bind(self.circle,'<Button-3>', self.eventRightClick)
    self.canvas.tag_bind(self.circle,'<Button-1>', self.eventLeftClick)
    self.root.mainloop()
 
s=Simple()
s.run()
в качестве примера.
1
1 / 1 / 2
Регистрация: 03.12.2013
Сообщений: 13
25.01.2014, 00:21  [ТС]
fanatdebian, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.01.2014, 00:21
Помогаю со студенческими работами здесь

Как правильно создать класс
Как мне правильно создать класс чтобы сохранить информацию от нажатия пользователя. Я хочу создать класс чтобы при команде старт сразу...

Как правильно создать свой класс?
Объясните пожалуйста как можно подробнее, как использовать собственный класс в программе. Где его нужно описывать? После формы или перед...

Создать класс Пользователь с событиями Переместить и Сжать
Условие: Используя делегаты (множественные) и события промоделируйте ситуации, приведенные в таблице ниже. Можете добавить новые типы...

Как правильно создать типизированный вложенный класс через дженерики?
Допустим у меня есть класс Graph, внутри которого есть два класса Vertex и Edge. Мне необходимо сделать класс Vertex типизированным, чтобы...

Как создать правильно новый класс и переопределить его метод
Необходимо создать новый класс родителем которого будет textBox в котором будет прикручено: private void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru