wxWidgets vs Qt


(Mk Md) #1

Witam.

Nie znalazłem podobnego tematu więc pisze. Proszę o pomoc w wybraniu biblioteki dzieki której bd mógł tworzyć wieloplatformowe aplikacje okienkowe. Troche czytałem i nie mogę się zdecydować między ww. bibliotekami. Zwracam uwagę na:

  • przenośność kodu

  • łatwość pisania

  • licencję na której można rozprowadzać prorgamy napisane przy użyciu jednej bądź drugiej biblioteki.

Bardzo mile widziane opinie osób które korzystały z obu bibliotek.


(B Brachaczek) #2

Osobiście bardzo lubię Qt, chociaż w wxWidgets nigdy nie pisałem.

Polecam:

[1] [http://wiki.wxwidgets.org/WxWidgets\_Com ... oolkits#Qt](http://wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits#Qt)

[2] [http://www.torquepowered.com/community/ ... read/32665](http://www.torquepowered.com/community/forums/viewthread/32665) (trochę stare, ale jest tam kilka uwag wartych przeczytania)

[3] [http://www.daniweb.com/forums/thread186991.html](http://www.daniweb.com/forums/thread186991.html)

Poza tym:

Oba toolkity są naprawdę bardzo przenośne. Trudno mi tutaj coś więcej napisać, ale oba nadają się na wszystkie platformy, jakie mi w tej chwili przychodzą do głowy. Warto wspomnieć, że w wxWidgets można pisać w większej liczbie języków, podczas gdy Qt ma oficjalne bindingi tylko do Javy (a pisany jest w C++ oczywiście), wsparcie dla .NET, i parę nieoficjalnych bindingów, w tym PyQt (oficjalnym bindingiem do Pythona ma się stać podobno PySide).

W przytoczonej dyskusji [2] jest mowa o tym, że w przypadku zamkniętych aplikacji w Qt trzeba płacić. Jednak od wersji 4.5 Qt jest dostępne także na LGPL, co pozwala na darmowe wykorzystanie w zamkniętych aplikacjach.

Napiszę jeszcze o rysowaniu widżetów, ale wiem tylko jak sprawa wygląda na Windowsie i Linuksie (nie znam się na innych platformach):

  • wxWidgets pod Windows używa całkowicie natywnych widżetów, co zapewnia wygląd w 100% identyczny jak by aplikacja była pisana tylko w WINAPI, natomiast Qt używa natywnych procedur tylko do rysowania prymitywów, ale ostateczny wygląd jest nadawany przez skórki udające wygląd Windowsa i mogą wystąpić pewne różnice (chociaż i tak bardzo dużo programów na Windowsa ma nie-natywny wygląd, a w Qt można łatwo taki uzyskać, przykład: Nowe Gadu-Gadu),

  • wxWidgets na Linuksie jest realizowane generalnie przez wxGTK, czyli mamy natywny wygląd w środowiskach opartych na GTK+ i taki sobie wygląd pod KDE; Qt od wersji 4.5 umożliwia rysowanie widżetów przy użyciu GTK+ (czyli wygląd natywny np. w GNOME), a w KDE samo zapewnia natywne widżety, bo całe KDE jest napisane w Qt.