wxWidgets czy Qt

0

Chciałbym zacząć naukę jednej z popularniejszych bibliotek do GUI,
no i właśnie nie wiem która z nich wybrać. Podobno Qt jest dobre ale słyszałem że trzeba udostępniać source swoich programów (to prawda?),
za to podobno wxWidgets jest łatwiejsze. Proszę doradźcie który wybrać ^^

0

Darmowa wersja Qt jest na licencji LGPL, a to znaczy, że obowiązuje przechodniość licencji. Wersja komercyjna nie ma takich ograniczeń. Patrz tu.

0

Jest w miarę niedawno wydana książka o Qt i wxWidgets. http://helion.pl/ksiazki/CPPWYK.htm Zanim wybierzesz i niezależnie od tego który wybierzesz chyba warto sobie takową kupić, żeby wyrobić spojrzenie. W każdym razie ja bym sobie kupił, gdyby była wydana troszkę wcześniej. Głosu w ankiecie nie zabieram, bo o Qt mam nikłe pojęcie.

0

Co z GTk, GTKmm [!!!]

0

chodnik - zamówiłem tą książkę, i wielkie dzięki za twoja stronę o wxWidgets, chociaż mógłbyś napisać jeszcze parę artów bo ja szybko się uczę heh ^^

adam.chyla - No faktycznie przeoczyłem GTK... a uważasz że jest lepsze od tych dwóch?

a jak wygląda licencja wxWidgets? są tam jakieś tego typu ograniczenia?

0

Ja (jeśli chodzi o C++) to GTKmm.

0
Maov napisał(a)

No faktycznie przeoczyłem GTK... a uważasz że jest lepsze od tych dwóch?

Czy lepsze to nie wiem - zależy od człowieka, ale jest 100% zgodne z językiem.

0
MarekR22 napisał(a)

LGPL, a to znaczy, że obowiązuje przechodniość licencji.

No chyba nie do końca.
LGPL umożliwia chyba korzystanie z kodu wydanego na niej (w postaci bibliotek dynamicznych) bez konieczności udostępnienia swojego kodu. Dopiero jeżelibyś zmieniał coś w samym QT to musisz to udostępnić, lub jeżeli linkujesz QT statycznie.
Przynajmniej z tego co się orientuje w różnicach między GPL a LGPL

Jeżeli się mylę niech mnie ktoś poprawi.

A co do samego pytania, za bardzo obiektywny nie będę bo programowałem coś tylko w QT, ale bardzo fajnie się w tym tworzy :).
Co do GTK to zaczynałem z tym coś w pyGTK, ale nie przypadło mi do gustu.

0

Tja, Qt na LGPL można używać komercyjnie w zamkniętych projektach o ile go nie wlinkowujesz - jeżeli musisz zmodyfikować Qt to rekompilujesz biblioteki dynamiczne i udostępniach na stronie projektu źródła zmian. Cała filozofia, przetestowane.

0
sadfg napisał(a)

Tja, Qt na LGPL można używać komercyjnie w zamkniętych projektach o ile go nie wlinkowujesz

Ogólnie na LGPL (libgadu, gtkmm itd)

0

Qt jest wydawane na trzech licencjach do wyboru, dlatego zaznaczyłem, że Qt na LGPL. Oczywiście tyczy się to wszystkich bibliotek na LGPL, zgadza się.

0

Myślałem ze programy napisane w cpp mają mniejszy rozmiar niż w Delphi i są szybsze, a ucząc się wxWidgets napisałem kopię mojego programu napisanego w Delphi i okazało się że zajmuje on 1,21 MB a ten sam progs w delphi - 655 KB czyli prawie 50%! Czemu tak jest???

0

no lol teraz skompilowałem ten kod tym razem w wxDevcpp rozmiar: 4,54 MB!

0

A włączyłeś w Delphi statyczne linkowanie bibliotek? Jak nie (a sądząc po rozmiarze exe to nie) to program będzie działał tylko na komputerze z zainstalowanym Delphi, ew jak dołączysz do niego jakieś tam pliki (nie pamiętam jakie), około 1,5~2 MB

0
Maov napisał(a)

Myślałem ze programy napisane w cpp mają mniejszy rozmiar niż w Delphi i są szybsze, a ucząc się wxWidgets napisałem kopię mojego programu napisanego w Delphi i okazało się że zajmuje on 1,21 MB a ten sam progs w delphi - 655 KB czyli prawie 50%! Czemu tak jest???

Pisz w C#, w nim wychodzą malutkie exeki ;P

0

naiwny jesteś. Jeśli winnych językach wykorzystasz dynamiczne biblioteki też będziesz miał malutkie exeki.
Rożnica jest taka, że ty zakładasz, że .Net jest zainstalowany na komputerze użytkownika, czego z Qt i wxWidgets lepiej nie zakładać. Poza tym uruchom program C# pod linuxem, albo na maszynie o zupełnie innej architekturze :P.

0

@Marek - do mnie to było?
[rotfl]

0

sorry - mała forma analfabetyzmu, nie przeczytałem cytatu :P.

0

chcesz malych i niezaleznych exekow - pisz w WinApi używając asemblera lub C (Pelles-C, LCC) - twoje programy beda miec poniżej 5 kB, a w asm poniżej 1 kB
@Loloki - program w Delphi zlinkowany statycznie ma ~700 kB, w wxWidgets ~1 MB przy użyciu normalnego kompilatora zamiast wxDevCPP z jego prehistoryczna wersja gcc

0

Poniżej 1kB się nawet w asm nie da aplikacji pod Windows napisać aby była przenośna pomiędzy wersjami. Teoretycznie można uciąć wolną przestrzeń na końcu pliku, ale któraś wersja Windy tego nie lubiła - bezpiecznie zejść poniżej 1024 bajtów się nie da. Aby aplikacja była faktycznie prawidłowa - musi mieć jedną sekcję i tablicę importów (braku importów bodaj Windows 2000 nie lubił), zaś plik powinien mieć rozmiar zgodny z wyrównaniem.

0

FSG skompresuje do ~500 bajtów - ale na ile to było przenośnie nie wiem. Podobnie FSG kompresuje kod z Pelles-C do ~1.5 - 2 kB - bardzo fajne, bo jednak pisać w C a w asm to różnica, a rozmiar prawie ten sam.
Przydatnośc tego mała jednakowoż - chyba że ktoś wirusy pisze.

0

Tak, tak... tylko FSG miał problemy z działaniem na części Windowsów, od XP SP2 po najnowsze z włączonym DEP-em też nie zadziała. Sorry, ale robienie rzeczy, których nie dopuszcza specyfikacja formatu PE COFF kończy się tym, że z przenośnością są problemy.

0

Co do wirusów jeszcze - wirus nie jest samodzielną aplikacją. To kod, który potrzebuje nosiciela, kompresja plików wykonywalnych ma się nijak do czegoś, co funkcjonuje w zainfekowanych binariach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1