Biblioteka wxWidgets - opinie

Odpowiedz Nowy wątek
2011-06-21 17:06

Rejestracja: 14 lat temu

Ostatnio: 3 lata temu

0

Hej! Ostatnio zacząłem się interesować biblioteką wxWidgets (potrzebna mi była jakaś biblioteka do tworzenia GUI w C/C++ dla Windows, kompilowana do EXE, statycznie).
Ktoś pracował, używał tej biblioteki?
W przeciwieństwie do QT jej zaletą jest, że jest "lekka" i nie trzeba dystrybuować z plikiem exe dodatkowych bibliotek DLL. Poza tym wxWidgets używa natywnych kontrolek (QT jedynie rysuje kontrolki wzorowane na natywnym interfejsie).
Jeśli chodzi o IDE to używałem wxDev-C++
Ktoś miał większe doświadczenie z tą biblioteką? Jak się ma sprawa z bazami danych w połączeniu z wxWidgets? Ogólnie praca z wxWidgets w środowisku wxDev-C++ wygląda jak połączenie starszych wersji C++ Buildera, Visual C++ i MFC... tak mi się to kojarzy ;)

Z góry dzięki za wszelkie info.

edytowany 2x, ostatnio: LOSMARCELOS, 2011-06-21 17:16

Pozostało 580 znaków

cpp_amator
2011-06-26 11:04
cpp_amator
0

Generalnie wxWidgets nie jest zła, natomiast nie jest tak wygodna jak QT.
Jeśli chodzi o bazy danych to nie używałem z wxWidgets, natomiast OpenGL czy funkcje WinAPI bez problemów działają.
Zaletą jest to, że wszystko jest statycznie do exe kompilowane.
Posiada dużo wbudowanych kontrolek GUI (wiekszosc natywna).
Wada jest niezbyt dobra obsluga sieci (byc moze poprawione bedzie w nastepnych wersjach).
Jakas alternatywa do QT czy .NET albo JAVA - wxWidgets może być.
Moim zdaniem wxWidgets nie jest zbyt dobre do "oprogramowania biznesowego" - tutaj polecam Java+NetBeans lub C# .NET, natomiast to pisania programów narzędziowych, oprogramowania diagnostycznego (natywne kontrolki, dojscie do WinAPI jesli chodzi o Windows) to polecam.

Pozostało 580 znaków

gosc
2011-09-02 22:24
gosc
0

wxWidgets ma lepsza licencje niz QT

Pozostało 580 znaków

2011-09-03 10:47

Rejestracja: 8 lat temu

Ostatnio: 6 godzin temu

0

wxWidgets działa z Pythonem, w związku z czym jak się nauczysz tej biblioteki możesz tworzyć aplikacje wxWidgets + Python + moduły C/C++.
Jako edytor form polecam wxFormBuilder - http://wxformbuilder.org/ (działa zarówno w C++ jak i z Pythonem)
Tutaj razem dodatkowymi kontrolkami: http://wxpack.sourceforge.net/

Też się nad tym zastanawiałem - Qt czy wxWidgets. Na razie najbardziej przekonującym argumentem dla mnie jest to że Qt sobie kontrolki rysuje, a wx używa systemowych - szybkość, stabilność, wrażenia estetyczne.

Co do baz danych to też jestem ciekaw jak to wygląda, bo nic interesującego w obu bibliotekach pod tym względem nie znalazłem.

Co do licencjonowania to obie biblioteki są dostępne pod licencją LGPL, z tym że wxWidgets przy dystrybucji binarnej (nie źródłowej) nie nakłada żadnych ograniczeń, więc wx jest lepsze dla oprogramowania komercyjnego.

http://www.wxwidgets.org/about/newlicen.htm

Gdybyś szukał kontrolek dla wx to koniecznie obejrzyj sobie dema:


Szacuje się, że w Polsce brakuje 50 tys. programistów
edytowany 6x, ostatnio: vpiotr, 2011-09-03 11:18

Pozostało 580 znaków

qwe
2011-09-03 11:04
qwe
0

ja działałem na Pythonie z tym, powiem Ci że lekko i przyjemnie się programuje, nie miałem żadnych błędów pod pythona z tą biblioteką [nie wiem jak c++]

Pozostało 580 znaków

2011-09-03 11:41

Rejestracja: 14 lat temu

Ostatnio: 1 dzień temu

Lokalizacja: Warszawa

0

Weź jeszcze pod uwagę dokumentację,która z bibliotek (wxWidgets vs Qt) ma ją lepiej pasującą do twoich wymagań.

vpiotr napisał(a)

Co do baz danych to też jestem ciekaw jak to wygląda, bo nic interesującego w obu bibliotekach pod tym względem nie znalazłem.

O Swarogu Wielki i Mocny,widzisz i nie grzmisz...
Czyli twierdzisz,że QSqlDatabase,QSqlQuery,QSql(Relational)TableModel i odpowiedni QDelegate do tego,QSqlRecord to nie jest nic ciekawego?Heh...


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 3x, ostatnio: MasterBLB, 2011-09-03 14:26
Pokaż pozostałe 3 komentarze
Da się.Jedynie co do grupowania i filtrowania mam wątpliwości wynikające z tego,że nie wiem co Ty rozumiesz pod tymi hasłami - MasterBLB 2011-09-03 21:44
Filtrowanie = zawężenie wyniku przy pomocy warunku wprowadzonego przez użytkownika końcowego (np. kolumna-A > 12), grupowanie - podzielenie wyniku na grupy które można osobno obejrzeć (np. wyniki podzielone wg województw). - vpiotr 2011-09-04 11:13
No to takie filtrowanie jest w Qt,a dzielenie i osobne oglądanie znowu musisz doprecyzować. - MasterBLB 2011-09-04 13:10
To efekt wizualny, podobny do grupowania na raporcie, z tym że o użytkownik aplikacji decyduje jak ma być to grupowanie zrobione. To już by było hi-fi gdyby to było, ale jeśli piszesz, że reszta jest to chyba nie jest tak źle z tym Qt. - vpiotr 2011-09-04 13:18
Hm wciąż nie wiem,co masz na myśli.Ale to co można z kolumnami robić w Qt-daje się je schować bez naruszania danych oraz można zmieniać ich kolejność poprzez drag&drop - MasterBLB 2011-09-04 15:16

Pozostało 580 znaków

2011-09-03 16:45

Rejestracja: 14 lat temu

Ostatnio: 3 lata temu

0

Tylko, że w QT na licencji LGPL to chyba, nie można kompilować statycznie... tzn. tak, żeby był jeden pliczek exe, bez konieczności rozprowadzania programu z bibliotekami dll QT.
W wxWidgets widziałem, że się generuje jeden plik exe (jego rozmiar nie jest aż tak bardzo duży, ale jeszcze można go zmniejszyć w ustawieniach konsolidatora + upx).

Pokaż pozostałe 10 komentarzy
Czyli mówiąc krótko muszę udostępnić kod źródłowy, jeśli linkuje statycznie ? - LOSMARCELOS 2011-09-04 23:00
Odpowiadając krótko-tak - MasterBLB 2011-09-04 23:24
No nic, zrobiłem to co miałem zrobić w wxWidgets (IDE wxDev-C++). Swoją drogą to środowisko i framework wygląda jak mieszanka starszej wersji C++ Buildera, połączone z MFC. - LOSMARCELOS 2011-09-05 20:12
polecam emigrować do Code::Blocksa. Też ma builder okienek wx, a przynajmniej ma nowszy kompilator. - Razi91 2011-09-05 20:15
Musze to sprawdzić :) Chyba kiedyś instalowałem ale coś był problem z połączeniem z wxWidgets,ale zobacze :) - LOSMARCELOS 2011-09-05 22:17

Pozostało 580 znaków

gość
2011-09-22 11:12
gość
0

wxWidgets nie jest złe jeśli chcesz szybko napisać aplikację z graficznym interfejsem użytkownika czy np. jakiś program narzędziowy ale np. do aplikacji bazodanowych to polecam Jave albo C# :)

Pozostało 580 znaków

2011-09-22 19:15

Rejestracja: 15 lat temu

Ostatnio: 6 lat temu

0
LOSMARCELOS napisał(a)

W wxWidgets widziałem, że się generuje jeden plik exe (jego rozmiar nie jest aż tak bardzo duży, ale jeszcze można go zmniejszyć w ustawieniach konsolidatora + upx).

Plik generuje się bardzo duży, a w najnowsxzych wersjach (nowszych niż ta z czasół wxDevC++, czyli około 8-9 lat) jeszcze większy, bo z tego co się orientowałem nawet w wersji release wrzucane jest coś w rodzaju debug info (trzeba to dopiero wyłączyć przed kompilacją biblioteki).
Poza tym, nieprawda że generuje się jeden plik .exe - generuje się tak, jak skompilujesz sobie bibliotekę (statycznie, dynamicznie - cały wxWidgets w jednym dll, dynamicznie - wxWIdgets rozdzielone na kilka .dll o mniejszych rozmiarach).

Poza tym, co rzuca się w oczy:

  • całkowita rezygnacja z używania wyjątków. Biblioteka nigdy nie rzuca żadnymi wyjątkami w przypadku błędu - zamiast tego są okna dialogowe z komunikatami (tylko po angielsku of course, o tym niżej).
  • sporo jest nawet fajnych gotowych okienek dialogowych do realizacji wielu zadań. Ale brak jakiejkolwiek obsługi języka innego niż angielski. Chcesz np. żeby gotowe okno podglądu wydruku miało napis "strona 5 z 100" na pasku stanu zamiast "Page 5 of 100", albo jakiś dialog typu podaj liczbę miał polski tekst? To sobie znajdź w kodzie biblioteki, popraw i przekompiluj bo jak nie to na sztywno wbity język angielski i już. Jak przekompilujesz to na sztywno będzie polski.
  • zagmatwana obsługa wielowątkowości. W qt wiele rzeczy robi się prościej, łatwiej i mniej kodu trzeba napisać

Ogólnie moje wrażenia są takie (jeśli chodzi o sam układ klas i pisanie w tym), że to coś trochę pośredniego pomiędzy MFC (na maksa poryte), a vcl (proste). Jak tak patrzę na niektóre rzeczy, to jakbym widział mfc, a na inne - vcl.

edytowany 3x, ostatnio: othello, 2011-09-22 19:17
Jakieś bajki opowiadasz. Demo wxauitest.exe to 1.4 MB (nie skompresowane), jeśli to jest dużo to prawdopodobnie używasz jeszcze dyskietek. Jeśli chodzi o wielojęzyczność, to w wxWidgets jest do tego mechanizm (może nie być wykorzystywany wszędzie, ale jest) - http://wiki.wxwidgets.org/Internationalization - vpiotr 2011-09-22 20:33

Pozostało 580 znaków

2011-09-23 08:45

Rejestracja: 14 lat temu

Ostatnio: 3 lata temu

0

Rozmiar pliku nie jest aż tak duży jeśli wyłączyć się informacje o debugowaniu w opcjach projektu i zaznaczy opcje "strip executable".
Fakt, że biblioteka wygląda jak mieszanka VCL i MFC ale do pewnych zastosowań jest lepsza niż QT (jeśli potrzebujemy 1 plik exe - jako np. programik narzędziowy bez potrzeby instalacji itp.).

Pozostało 580 znaków

Odpowiedz

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