Най-доброто платно за рисуване в wxPython?

Трябва да начертая графика от елементи, съставящи топологичен модел на физическа мрежа. Ще има възли и арки, като последните могат да бъдат еднопосочни или двупосочни.

Бих искал да заснема събитията при щракване за възлите и арките (за да избера елемента и да покажа свойствата му някъде), и събитията за плъзгане за възлите (за да ги преместя) и арките (за свързване или прекъсване на връзката на елементи).

Направих някои проучвания и стесних алтернативите до OGL (Object Graphics Library) и FloatCanvas. Не бих искал да слизам до DrawingContext, но той не се изхвърля, ако е необходимо.

Коя опция за платно бихте избрали?


person Pablo Rodriguez    schedule 24.02.2010    source източник
comment
Аз си навих своя. За съжаление беше за работа, така че не мога да споделя кода. michaelfogleman.com/2009/01/work-project-generic -diagram-widgetВсъщност сега изглежда още по-хубаво с градиенти.   -  person FogleBird    schedule 23.04.2010


Отговори (2)


Опитах FloatCanvas, въпреки че имаше много работа, за да накарам всичко да работи. Успях да премина през неща за взаимодействие с мишката като свързаност, движение, автоматично повторно свързване в случай на движение и т.н.

FloatCanvas също е доста добър по отношение на производителност и визуални резултати. Антиалиасинг (1) (2) също е възможно да ги подобрите, ако е необходимо.

person Pablo Rodriguez    schedule 22.04.2010

Изглежда, че OGL не се актуализира и като цяло FloatCanvas изглежда по-модерен. Всъщност не познавам достатъчно добре двата варианта.

Изглежда, че заснемането на събития е по-лесно с FloatCanvas. Бих се опитал да го използвам преди OGL.

person AnotherOne    schedule 28.02.2010
comment
Свързан въпрос изглежда дава повече точки за FloatCanvas: stackoverflow. com/questions/824628/ - person AnotherOne; 28.02.2010
comment
Нито OGL, нито FloatCanvas изглежда се актуализират активно. Освен няколко корекции на грешки, нито един не е имал съществени ангажименти от няколко години. svn.wxwidgets.org/viewvc/wx/wxPython/3rdParty/FloatCanvas svn.wxwidgets.org/viewvc/wx/wxPython /trunk/wx/lib/ogl - person k107; 02.11.2011