Найти - Пользователи
Полная версия: Tkinter нужна помощь.
Начало » GUI » Tkinter нужна помощь.
1
solyony
Нужно создать некоторое ручное подобие графа.
То есть на холсте вывести некоторое количество кругов и прямые их соединяющие.

Как сделать что бы при зажатии мышки над кругом и ее перемещении перемещалась точка и все в нее входящие ребра.
Как это сделать?…

Заранее спасибо…
cookie-god
Наверное, стоит обработать нажатие левой кнопки мыши, если она над вершиной, то запомнить вершину, а когда мышь двигается, если мы запомнили какую-нибудь вершину, то двигать вершину и все ее ребра. При отжатии кнопки же про вершину можно забыть. Так?
solyony
Да, но меня интересует не теория, а как это на практике прописать…
Хоть что использовать…
Griffon
Ну вообще если банально рисовать на Canvas то:
Вариант 1) Круг это объект, который знает свои координаты, размеры и имеет метод check(x,y), который определяет находится ли точка внутри обьекта. На клик выполняем проверку для всех объектов. Кроме того обьект может отвечать за перемещение, прорисовку, хранить ссылки на присоединенные линии и всё что вздумается.
Вариант 2) Использовать методы Canvas find_closest и find_overlapping и выполнять драг и всё остальное для найдёных элементов.

Возможно есть ещё варианты попроще.
solyony
Какие же еще попроще?…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB