Portál AbcLinuxu, 14. července 2025 14:02


Dotaz: QT a grafy(planarni)

23.8.2011 14:13 Ivan
QT a grafy(planarni)
Přečteno: 573×
Odpovědět | Admin
Ahoj, chystam se do jednoho opensource programu pridat zobrazovani grafu(neco jako E-R diagram) a hledam nejvhodnejsi zpusob jak to naroubovat do QT. Udelal jsem si nejakou resersi a vy vysly mi v zasade dva mozny pristupy:

Vsechno budu kreslit sam rucne, tzn pouziju knihovnu qanava(polofunkcni abandonware) popr. to zkopiruju kuz zdrojaku kgrapheditor. ganava ma vlastni celkem jednoduchej algoritmus, kgrapheditor pouziva graphviz od AT&AT. Problem je v tom ze menam vubec zadny zkusenosti s tim jak v QT implementovat vlastni graficky objektu a mam strach, ze zabrednu do problemu se kteryma se nechci parat. Ta qanava ma cca 13K radek kodu, relevantni cast kgrapheditoru ma cca 23K radek.

Dhuha moznost by byla nechat si vygenerovat SVG primo z graphviz-u nobo pomoci volani externiho prikazu dot. To SVG bych uz pak snad moh' nejak zobrazit pomoci standartnich prostredku QT. Vubec ale nedokazu odhadnout jak moc to bude pracny a jak je to bugovy. Treba v Mozille je podpora SVG dost tragicka.

soustredim se halne na vizualizaci, zadny editovani nepotrebuju. Nemate nekdo zkusenost alespon s jednim z pristupu?

Dik Ivan
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.8.2011 15:29 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: QT a grafy(planarni)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemate nekdo zkusenost alespon s jednim z pristupu?

Máme. Hypercube

Každý má právo na můj názor!
23.8.2011 18:05 Ivan
Rozbalit Rozbalit vše Re: QT a grafy(planarni)
Tyyjo to je dobry. Dokonce cesky. Jaky algoritmus pouzivas? Popravde receno by si mi asi hodily i ty subgrafy a clustery, ktery umi graphviz.

24.8.2011 08:34 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: QT a grafy(planarni)

Používám simulované ochlazování, víceméně je to varianta tohoto. Vytváří to velice "přirozeně" vypadající grafy.

Jinak pokuď potřebuješ vyloženě nějakej graf z graphvizu a nebudeš to v aplikaci příliš často překreslovat, klidně bych použil graphviz -> export do svg -> zobrazení svg v QT, implementačně to bude asi nejjednodušší co lze vymyslet.

Každý má právo na můj názor!
24.8.2011 22:31 Jindřich Makovička | skóre: 17
Rozbalit Rozbalit vše Re: QT a grafy(planarni)
Co se SVG a Qt tyce, vystup z Graphvizu bych prubnul treba v tomhle... http://doc.qt.nokia.com/latest/painting-svgviewer.html
25.8.2011 20:38 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: QT a grafy(planarni)
moc pěkný kus SW.

Ivane, chceš to do tý trotlovský vizualizace? Nebo si tě pletu?
Kuolema Kaikille (Paitsi Meille).
26.8.2011 11:37 Ivan
Rozbalit Rozbalit vše Re: QT a grafy(planarni)
jj to jsem ja. Uz mam hotovej AST SQL dotazu, dokazu prelozit aliasy na tabulky, a subquery, umim najit vsechny mozny vazby mezi sloupcema, joiny, subquery. Ted resim co mi z toho stromu ma vypadnout abych to moh' predhodit nejaky vizualizacni knihovne. To planarni kresleni grafu je dost pakarna, dokumentace ke graphviz-u neni nic moc a dalsi free alternativy toho umi mnohem min, nebo jsou opusteny a nedokonceny. Nejlepsi co jsem nasel byla nejaka komponenta pro C#, tam ale stala devel licence 200000 euro.
29.8.2011 21:00 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: QT a grafy(planarni)
dej kdyžtak vědět, cos našels...
Kuolema Kaikille (Paitsi Meille).
Josef Kufner avatar 29.8.2011 21:53 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: QT a grafy(planarni)
Použij graphwiz. Já ho používám na kreslení vnitřností programu, resp. stavu po vygenerování WWW stránky. Je to takový "lepší" ladicí výpis.

I celkem složité a velké obrázky to stíhá v pohodě kolem sekundy (ani ne) – 827KB PNG, 2085x3903px, 61 boxů, 128 šipek, 1698 řádek v dot a ani si nevšimneš, že se to generovalo (během načítání stránky). Na realtime animace to nebude, ale na překreslení, když uživatel otevře okno/tab v pohodě.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.