abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 21:45 | Zajímavý projekt

Humble Bundle v rámci akce Double Fine Presents nabízí skupinu multiplatformních her bez DRM za vlastní cenu: Mountain, 140 a THOTH (jako jediná nikoliv pro Linux), za nadprůměrnou cenu navíc GNOG a Escape Goat 2 a za aspoň $10 Gang Beasts a Everything. Platbu lze rozdělit mezi vývojáře, Humble Bundle a charitu. Akce probíhá do 29. ledna.

Fluttershy, yay! | Komentářů: 2
včera 17:22 | Nová verze

Laboratoře CZ.NIC vydaly novou verzi 4.12.0 aplikace Datovka, tj. svobodné multiplatformní desktopové aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

Ladislav Hagara | Komentářů: 0
včera 17:00 | IT novinky

Byla zveřejněna pravidla hackerské soutěže Pwn2Own Vancouver 2019, jež proběhne od 20. do 22. března v rámci bezpečnostní konference CanSecWes. Vedle virtualizačních softwarů nebo webových prohlížečů se bude letos útočit i na automobil Tesla Model 3.

Ladislav Hagara | Komentářů: 0
včera 10:33 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostních chybách v scp klientech. Jedná se o chyby CVE-2019-6111, CVE-2018-20685, CVE-2019-6109 a CVE-2019-6110 v scp z OpenSSH a CVE-2018-20684 ve WinSCP. Zranitelné je také pscp z PuTTY. Server pod kontrolou útočníka může provádět neoprávněné operace na straně klienta.

Ladislav Hagara | Komentářů: 1
včera 09:44 | Komunita

Mozilla.cz informuje, že Firefox letos vypne Flash. Stane se tak s verzí 69. Podpora Flashe oficiálně skončí na konci roku 2020.

Ladislav Hagara | Komentářů: 3
včera 01:22 | Nová verze

Android Studio (Wikipedie), tj. oficiální integrované vývojové prostředí pro vývoj aplikací pro mobilní operační systém Android, bylo vydáno v nové stabilní verzi 3.3. Přehled novinek i s náhledy v oficiálním oznámení a také na YouTube.

Ladislav Hagara | Komentářů: 0
14.1. 16:22 | Komunita

O víkendu byl spuštěn proces zmrazování Debianu 10 s kódovým jménem Buster. Vybráno bylo výchozí grafické téma pro Buster. Je jím futurePrototype.

Ladislav Hagara | Komentářů: 7
13.1. 23:22 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 160. brněnský sraz, který proběhne v pátek 18. ledna od 18:00 v baru, galerii a kavárně MorsArt na Rooseveltově 6. Sraz je koncipován jako Linux Install Fest. Pořadatelé pomohou nováčkům s instalací a řešením problémů.

Ladislav Hagara | Komentářů: 0
11.1. 23:33 | Komunita

V říjnu byla změněna licence u multiplatformní dokumentové databáze MongoDB z GNU AGPLv3 na SSPL (Server Side Public License). Ten, kdo nabízí službu postavenou na MongoDB, musí nově poskytovat zdrojové kódy této služby nebo si může zakoupit proprietární licence. Pravděpodobně v reakci na to Amazon ve středu představil svou vlastní proprietární službu Amazon DocumentDB kompatibilní s MongoDB 3.6 API.

Ladislav Hagara | Komentářů: 1
11.1. 20:11 | Nová verze

Byla vydána nová major verze 5.0 frameworku pro testování počítačové bezpečnosti Metasploit (Wikipedie). Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
Používáte USB Type-C?
 (19%)
 (16%)
 (10%)
 (12%)
 (36%)
 (3%)
 (46%)
Celkem 353 hlasů
 Komentářů: 0
Rozcestník
Štítky: není přiřazen žádný štítek

Vložit další komentář
10.11.2011 15:11 Murry | skóre: 16 | Brno
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Jak se v wxWidgets resi connect(...) (klasicke signal(slot), aby byl kod prehledny?
http://wiki.wxwidgets.org/Example_Of_Using_Connect_For_Events
Prijde mi dost neprakticne pro kazdou pripojku v kodu muset mit nejaky enum s IDckama. Programujete nekde s wxWidgets vetsi projekt? Jak tyto veci resite? Vzdyt to musi byt pri velkem poctu totalne neprehledne...
Btw. pridavam se k autorovi, Qt dokumentace je doopravdy radove kvalitnejsi nez wxWidgets (IMHO).
Luboš Doležel (Doli) avatar 10.11.2011 15:33 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Ne, že bych to ve wxWidgets dotáhl dále než za "Hello world", ale myslím si, že s uvolněním Qt pod LGPL padl poslední důvod používat wxWidgets.
Luk avatar 10.11.2011 17:21 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Technická poznámka: LGPL (žádnou L-GPL neznám ;-)) je dnes zkratka pro Lesser General Public License. Dříve se jí říkalo Library General Public License, ale to už je hodně dávno.
LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
10.11.2011 17:43 Roman Došek | skóre: 17 | blog: flare
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Vycházel jsem ze stránek projektu, v zápisku to opravím. ;-)
10.11.2011 18:12 __dark__
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Trochu bych opravil některé nepřesnosti:
V čem se obě knihovny liší, je způsob jakým pracují s GUI prvky. Qt má veškeré vykreslování vlastní a na jednotlivých platformách se mění pouze vzhled. To umožňuje snadnější portování na další platformy, umožňuje to nabízet větší množství prvků, než jaké poskytuje grafická knihovna cílového prostředí. Nevýhodou tohoto přístupu je pak nižší rychlost vykreslování, než u nativní knihovny.
To s tou rychlostí je nepřesné. Žádná nativní GUI knihovna pro Linux neexistuje. V konkrétním případě bude pomalejší spíš wxWidgets, protože používá další multiplatformní toolkit - Gtk+. Kód tedy prochází přes více vrstev, než se dostane k X11.
wxWidgets naproti tomu využívá GUI prvky cílové platformy, což má přesně opačný efekt. V praxi to pak například znamená, že při spuštění programu v GNOME wxWidgetsvyužívá knihovnu GTK k vykreslování. Rozdíl ve výkonu by se měřil poměrně obtížně, žádný obrovský rozdíl ve výkonu oproti Qt tam ale pravděpodobně nebude.
Opět;-)
Licence
V praxi je rozdíl mezi LGPL a wxWidgets licencí ten, že v případě wxWidgets můžes zkompilovat celou knihovnu staticky k tvoji aplikaci. V Qt tento postup není možný bez komerční licence.
Rozdíly jsou i při sestavování programu. Při použití Qt zdrojový kód nejprve projde skrz MOC(Meta Object Compiler), který zdroják před zkompilováním modifikuje.
MOC nikdy nemodifikuje zdrojový soubor, ale vytvoří úplně jiný, s příponou .moc.
Něco k zamyšlení – kolekce
Nebo můžeš napsat třeba std::vector<Cat>> seznam ;-)

Popravdě, spíš jsem čekal nějaké srovnání API. Mi osobně přijde obtížné udělat ve wxWidgets layout - v Qt se to dělá mnohem líp, a je to takové intuitivnější. Mezi další věci patří třeba podivné chování GroupBox/GroupLayout ve wx, atd... Už jsem s tím nedělal celkem dlouho, takže si na víc nevzpomenu.
10.11.2011 20:17 Roman Došek | skóre: 17 | blog: flare
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
To s tou rychlostí je nepřesné. Žádná nativní GUI knihovna pro Linux neexistuje. V konkrétním případě bude pomalejší spíš wxWidgets, protože používá další multiplatformní toolkit - Gtk+. Kód tedy prochází přes více vrstev, než se dostane k X11.
A jak by to bylo s rychlostí na windows, tam bude wx rychlejší? Zajímalo by mě, jak by bylo možné to otestovat, nějaký nápad?
MOC nikdy nemodifikuje zdrojový soubor, ale vytvoří úplně jiný, s příponou .moc.
Tak jsem to myslel, trochu špatně jsem se vyjádřil.

To že se v tom obtížně navrhuje layout mi vadí asi nejmíň. Horší jsou nekonzistence v pojmenovávání metod tříd, nebo třeba fakt, že některé metody nefungují intuitivně tak jak by měly: např. třída wxCommandEvent má naprosto nelogicky metodu IsChecked(), která funguje jen tehdy, pokud byl event vyvolaný z checkboxů nebo menu (přitom může být vyvolaný ze spousty jiných prvků a korektní postup je získat z eventu zdrojový prvek a z něj teprve zjistit stav). To vypadá jak kdyby to tam někdo přidělal právě když to potřeboval.

Srovnání API můžu udělat pokud je o to zájem, nechtěl jsem to přespříliš natahovat, dlouhé zápisky nikdo nečte. :-)
Pavel Vymetálek avatar 11.11.2011 10:01 Pavel Vymetálek | skóre: 15 | Náchod
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
O srovnání API by zájem byl. A dlouhé zápisky si vytisknu na záchod :-)
11.11.2011 12:33 zxtlpn | skóre: 8 | blog: zxtlpn
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
"Ty tvoje články jsou k posrání, tak si je čtu radši rovnou na záchodě."
10.11.2011 21:06 Kvakor
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
To s tou rychlostí je nepřesné. Žádná nativní GUI knihovna pro Linux neexistuje. V konkrétním případě bude pomalejší spíš wxWidgets, protože používá další multiplatformní toolkit - Gtk+. Kód tedy prochází přes více vrstev, než se dostane k X11.
Neexistence nativního GUI je spíš důsledek architektury a minulosti vývoje X Windows než Linuxu. Sice by se dalo říct, že kombinace Xt+Xaw/Motif (resp. jeho otevřené implementace) by se za určitých okolností mohly považovat za nativní GUI, ale pokud dáme jako podmínku, že ostatní toolkity fungují srz něj, tak už to neplatí (ty komunikují přes nižší vrstvu Xlib/XCB).

Mimo toho, XServer funguje na mnohem nižší úrovni než widgety, samotný protokol je spíš na úrovni jednoduchých grafických knihoven typu SDL: klient si udělá okno, do něj může kreslit jak vektorově (včetně psaní pomocí fontů), tak bitmapově (přes pixmapy) a XServer mu zas zpět posílá události.
10.11.2011 22:21 oryctolagus | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Popravdě, spíš jsem čekal nějaké srovnání API.
V tomhle je docela zajímavé porovnat řešení vláken.

v Qt totiž imho kvalita API QThread (případně příbuzných) pokulhává za zbytkem Qt, a to především proto, že to je jedno API pro dva různý use cases - a sice "klasická" vlákna a vlákna s event loop, čili, řekl bych, "gui-aware" vlákna. Uživatel na to musí dost pamatovat, aby tyhle dva přístupy v jednom API nemíchal, musí mít stále na paměti, jestli má nebo nemá nastartován event loop a který postupy jsou vhodný pro event loop a který ne. Imho by možná nebylo marný to rozdělit na dvě třídy. Krom toho co si vzpomínám, v některých detailech byla dokumentace QThread trochu vágní, co jsem to viděl naposled...

Na druhou stranu je hezké, že v dokumentaci Qt mají všade (co vím) důsledně specifikováno, co je thread-safe a co ne.

Co se týče wxWidgets a vláken - koukám do dokumentace a zjišťuju, že něco jako "gui-aware" vlákna vůbec neřeší, k dispozici jsou jen "klasická" vlákna. API vypadá slušně, ovšem já ale wx neznám z praxe (taky jsem nebyl dál než u hello world). Zajímavý je koncept detachted thread, tohle afaik v Qt vůbec není a mohlo by to imho dost zjednodušit práci v některých případech, především pro začátečníky. Ačkoli trošku z toho kouká podobný problém jako v Qt - jedno API, dva use cases.
10.11.2011 18:25 jkb
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
moje zkusenosti jsou tak z roku 2003/4, kdy jsme ve firme rozhodovali co pouzit. Tenkrat byla Qt jeste 'nesvobodna :-)', takze se vazne uvazovalo i o wX.

Dokumentace

Pro male veci slozene ze standardnich komponent je to uplne fuk. Je zajimave, ze uz tenkrat, prestoze melo Qt velmi peknou dokumentaci byla diskuzni-fora presto plna dotazu i ohledne jednoduchych veci. Jakmile se ale zacnou delat velke projekty, tak ty skolske priklady uz nestaci a jedine vhodne by bylo, mit 'komplikovane priklady'. To je podle me jedina rozumna dokumentace pro 'pokrocileho' programatora.

Multiplatformost

Zde jsem dokonce jineho nazoru ohledne rychlosti. Toolkity, ktere na dane platforme samy kresli nemusi byt vubec pomalejsi nez wX. Kdyz wX pouzije GTK tak nakonec holt kresli GTK a to muze mit mnohem horsi algoritmy nez toolkit sam. Napr. fox-toolkit take kresli sam a je rychlejsi nez wX.

Rekl bych, ze tato vlastnost wX je velmi negativni, v nasich testech napr. tenkrat nebylo mozne pod linuxem mit right-justify udaje v multicolumn-listview, na windossech to slo -> duvod - widget pod windows to umel, ale pod GTK tenkrat ne -> vyplyva, ze wX je limitovana vzdy tou prave 'nejhorsi' platformou.

Dalsi problem je vyroba vlastniho widgetu -> zde se musi event. programovat vicekrat, jestlize se nevystaci z dedicnosti.

Licence

Omezit se na LGPL je bohuzel velmi kratkjozrake. Zde jsou toolkity jako wX nebo fox v obrovske vyhode - je mozno sirit statickou binarku. My jsme napr. chteli pouzit Qt pro program sireny na CD - nejen ze je treba pribalit ty Qt knihovny (main programm je pak take musi nekde spravne najit), ale je treba umoznit uzivateli 'pozdejsi' linkovani - tzn. musi tam byt i vsechny '.o - soubory' a navod jak to prekladat atd.. To je obrovska nevyhoda Qt dodnes.

Ostatni

Te problematiky QList, QString ...je plny internet. jenom kolik lidi bojuje s tim std::string <-> QString. My se tomu snazime vyhnout, clovek nikdy nevi kdy se bude muset pouzit jiny nastroj. Zatim jsme tedy vystacili se std::

HTML - to je jeden z duvodu, proc volit Qt. Podpora html pod wX je stale jeste nedostatecna, programovat tu engine jak to dela pan Slavik (na zelene louce) je dnes podle me blbost. Jasne plus pro Qt.

Signaly a messages - zde mam pocit, ze ten signal-slot konzept je jakasi mantra intergalaktickeho programovani.Pro me je message-mapa zrovna tak dobry koncept. V komentari vyse to nekdo povazuje za neprehledne. Ne - je to otazka zvyku. Ja presne vim v kodu, kde ta mapa je a pripada mi obracene neprehledne u Qt hledat ty radky s connect.

'Mocnost'

Myslim si, ze Qt je prilis mocna. Nechapu, proc nekdo musi naplacat do GUI podporu SQL.

Widgets - pro narocne programy (klient pro IS) je u wX nasaditelna (imho) teprve ta verze 2.9. Ono to vse boli az v detailu - napr i u Qt bylo mozno az ve verzi 3.x rict QtTable, ze ma byt aktualni radka oznacena barevne. Predtim to neslo, oramovana byla jen bunka. To jsou ty momenty, kdy se prijde k zakaznikovi a ten rekne, ze snad bude mozne, aby videl ve ktere radce se naleza - a ono je pak blbe mu rikat, ze takovou 'samozrejmost' vyrobce toolkitu neuvazoval. V tomhel a zejmena kvuli tomuhle je volba mezi tema 2 toolkity jasna = Qt.
10.11.2011 21:49 oryctolagus | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
zde mam pocit, ze ten signal-slot konzept je jakasi mantra intergalaktickeho programovani
:-D +1
10.11.2011 22:07 oiufoj
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Jestli tedy tedy muzu tak tohle dilema jsem resil tak pred cca 10 lety (stejne jako pouzity jazyk). Nakonec jsem zvolil wxWidgety (tehdy jeste wxWindows) a jak to ted s odstupem casu rekapituluju tak vubec nelituju. V podstate do dnes neni nic lepsiho a neverim, ze v dohledne dobe neco bude.

Mym hlavnim kriteriem byla multiplatformost a licence. V dobe pred cca 5 lety, Qt v podstate multiplatformni nebylo a licence byla nepouzitelna. S multiplatformosti uz hodne postoupili, licence je sice o dost lepsi, ale porad to neni rozumne pouzitelna licence. Rozhodne neni jistota, ze ta knihovna se bude dat pouzivat bez obav i za 5 let. To je bohuzel obecne problem softu spravovanem jednou firmou.

Pokud jde o dalsi aspekty, tak ty jsou podruznejsi, pri programovani v jakemkoli toolklitu casem clovek narazi na nejake omezeni nebo zvlastnost, ktera se behem vyberu neda tusit. API, podpora nevim ceho je nepodstatna, protoze jsou stejne vsechny API zhruba stejne (vcetne pouziti) a clovek si kdykoli muze pomoct vnejsima knihovnama.

Dokumentace

Nevidim v tom moc rozdily. Pri pouziti wxWidgets 2.9 bohuzel na dokumenaci pouzivaji doxgen (= neprehledne).

Multiplatformost

Jak pises, wxWidgets pouzivaji nativni widgety coz je vylozene pozehnani pro uzivatele zvykle na vzhled, rozlozeni butonu a jine blbosti. Pro programatora je to asi podruzne, ale uzivatele jsou tim nadseni. Qt ma tohle porad nedotazene. Dost pochybuju, ze by to mohlo mit vliv na vykon.

Kolekce (containery?) a makra

Makra wxWidgety pouzivaji z historickych duvodu, vznikly v dobe, kdy bezne kompilery nemely templaty a vzdy tu byla snaha o co nejvetsi prenositelnost. Dneska uz jsou makra drzeny kvuli kompatibilite a ve skutecnosti je to vse delane pres (standardni) knihovny. Dost pochybuju, ze by to mohlo mit vliv na vykon.
Cili, pokud neplanujes velky projekt, ktery budes muset udrzovat dlouha leta, zustan i Qt.

K wx jsem presel po tom, co podstatne zmenili API u GTK v 1.0 na 1.2. Nicmene jak wx tak qt maji API relativne stabilni. Ja to povazuju za dost dulezite kriterium.

Komunita kolem wx je, rekl bych, podstane mensi nez kolem qt a clovek je vic odclonen od totalnich zacatecniku, to lze povazovat taky za sympatickou vlastnost.

Poznamka. Z verze 2.8 na 2.9 jsem prechazel nekdy v lete a zmeny spocivaly hlavne v: nove implementaci stringu (komplet interface pres stl), podstatna zmena prace s pripojovanim eventu (Connect uz se povazuje za zastaralou funkci, ted je Bind), lepsi event system fungujici i v konzolovych aplikacich a nejaky novy widgety.
Fluttershy, yay! avatar 10.11.2011 22:14 Fluttershy, yay! | skóre: 83 | blog:
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Mym hlavnim kriteriem byla multiplatformost a licence. V dobe pred cca 5 lety, Qt v podstate multiplatformni nebylo a licence byla nepouzitelna. S multiplatformosti uz hodne postoupili, licence je sice o dost lepsi, ale porad to neni rozumne pouzitelna licence. Rozhodne neni jistota, ze ta knihovna se bude dat pouzivat bez obav i za 5 let. To je bohuzel obecne problem softu spravovanem jednou firmou.

KDE Free Qt Foundation

Rezza avatar 11.11.2011 14:52 Rezza | skóre: 25 | blog: rezza | Brno
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
10.11.2011 23:14 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
inu, proti gustu žádný destilát... s tím, že jakékoli zvolené řešení překvapí souhlasím bez výhrad, ale dále z trochu jiného soudku.

(v následujícím textu padají hrubá slova. Ale umím i horší, já lump)

wx jsem aktivně jako programátor zkoušel ještě před staletími, kdy měly na linuxu implementaci jen v čistých X (parádní černobílé aplikace). Používat to šlo. Uživatelsky to stálo za prd (jasně, Xlib...).

V současnosti to jen občas používám jako uživatel. A protože jsem, co se optiky týče, řekněme nadstandardní uživatel, tak jsou wx-Gtk víc než na prd. Jsou nahovno (přetékající písma při exotických velikostech, zároveň nedokreslované widgety). Ale zase to může být chyba v Gtk. Nevím.

Subjektivní Shrnutí, jiné jazyky než C/C++ zanedbávám. (V Qt aktivně programuju posledních pár let, v Gtk jsem aktivně programoval předtím, wx jsem jen tak zkoušel; seznam aplikací dodám na požádání).

programovací pohodlí: Qt > gtkmm> wx > Gtk > X

uživatelské pohodlí: Qt > Gtk >= wx

P.S.: a že má Qt implementaci SQL, ano, i tam jsou oblasti, které jsou, ehm, suboptimální.

P.P.S.: autor má také poměrně sevřenou sedinku z toho, co se děje/bude dít v Qt5 s přístupem "tak se všichní userte, jsou tu mobily". Snaží se to ovlivnit, ale není dvakrát průrazný. Zjevně.
Kuolema Kaikille (Paitsi Meille).
10.11.2011 23:27 oryctolagus | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
K tomu SQL: vždyť je to modulární. Stačí to prostě nepoužít, a neovlivní to nic.
Fluttershy, yay! avatar 11.11.2011 00:48 Fluttershy, yay! | skóre: 83 | blog:
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
V současnosti to jen občas používám jako uživatel. A protože jsem, co se optiky týče, řekněme nadstandardní uživatel, tak jsou wx-Gtk víc než na prd. Jsou nahovno (přetékající písma při exotických velikostech, zároveň nedokreslované widgety). Ale zase to může být chyba v Gtk. Nevím.

Používám několik aplikací ve wxWidgets a je to tórčr.

20.2.2012 14:01 bubo
Rozbalit Rozbalit vše Re: wxWidgets vs Qt
Ten sample, ktorý je v článku, je na verziu wxWidgets 2.8. Vo verzii 2.9 je mnoho obskúrností odstránených. Skúšal som 2.9 a používanie templates je tam vcelku dobre zakomponované. Problémom wxWidgets je, že stable verzia by sa už mala nahradiť novým releasom.

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.