Jakie gui do dużej aplikacji c++

0

Witam szukam jakiejś biblioteki gui do c++, wymagania:
-darmowa do zastosowań komercyjnych bez udostępniania kodu,
-dużo kontrolek,
-łatwe zarządzanie akcjami,
-opengl,

Chce z tego zrobić edytor do gry.
Próbowałem Qt ale nadmiar problemów mnie przebija.

0

Do Qt trzeba się przyzwyczaić ale tak jest z wszystkim ;) Patrz do dokumentacji, używaj intellisense a da się rade ze wszystkim. Jeżeli już tak bardzo ci nie pasi zainteresuj się lekką, małą biblioteką wxWidget. Do Code Block jest edytor do wyklikania okienek za pomocą tej biblioteki. Ale jest o wiele uboższa niż Qt.

0

@smykowski nie rozumiem jak Qt może nie dogadywać się z mingw. Coś mi tu nie gra.

Ogólnie jeśli chodzi o programowanie GUI to Qt jest bardzo fajne. Jak już ktoś wspominał jest na licencji LGPL, więc można mieć zysk z programu i kod zamknięty.

Może kontrolek nie jest bardzo dużo i nie posiadają zaawansowanych funkcji ale tak jest we wszystkich środowiskach, które są za darmo. Skomplikowane komponenty wymagają zapłacenia pieniędzy - tak jest wszędzie.

@smykowski co to jest słaby sprzęt i czym się objawia "nie idzie nic zrobić"?

Jeśli chodzi natomiast o komfort programowania w Qt to jest on wyższy pod Linuksem - g++ jest dużo szybsze od mingw. Obecnie tworzę komercyjną aplikację pod Windows i programuję pod Linuksem a co jakiś czas testuję aplikację i kompiluję na Windows.

1

@smykowski nie wiem jak 5 ale wcześniejsze wersje 4.7 i 4.8 świetnie dogadują się z msvc 2008 i msvc 2010, używam qt creatora i nie mam z tym problemów. Po instalacji odpowiedniej paczki bibliotek i wskazujemy jej lokalizację ich qt creatorze. Następnie ustalamy kompilator który powinien być już na liście i wio ;) natomiast z ming miałem problemy i nigdy nie udało mi się zrobić żeby jego wykorzystywało.

0

Qt jest super jeżeli chodzi o programowanie. Ale narzędzia qt to po prostu nieporozumienie. Pisanie pod msvs jest uciążliwe, szczególnie moc. Pisanie w qtcreator jest fajne dopóki działa, często ten sam projekt działa w jeden dzień a w drógi już nie. Ogólnie szkoda czasu, nerwów i wzroku na qt.

Więc koniec tej dyskusji i wracamy do meritum jaka biblioteka do gui pod c++. Sam bym wziął wxWidgets ale miałem nadzieje że ktoś wyprodukował coś nowego i lepszego.

0

"Pisanie pod msvs jest uciążliwe, szczególnie moc", grzebiesz w plikach moc? Jeśli tak to się nie dziwie, że masz dziwne problemy z Qt-kiem. Te pliki są generowane automatycznie i nie powinny być dotykane, a nawet oglądane przez programistę, a już na pewno nie powinny być wersjonowane.

Co do tworzenia fajnego gui to w tej chwili QML jest najfajniejszym rozwiązaniem ze wszystkich mi znanych.
Fakt, Qt to głównie Linux i w następnej kolejności Windows i iOS, wiec pod Windowsem pewne rzeczy są nieco utrudnione. Dawno ni używałem Qt Creatora, ale od wersji 2.3 był bardzo stabilny i wygodny.

0
smykowski napisał(a):

wracamy do meritum jaka biblioteka do gui pod c++. Sam bym wziął wxWidgets ale miałem nadzieje że ktoś wyprodukował coś nowego i lepszego.

Niestety nie ma czegoś takiego, co by spełniało twoje wymagania. Qt, GTK+, wxWidgets to jedyne sensowne rozwiązania wieloplatformowe.

0

Pod Qt jest zrobionych całkiem sporo aplikacji pod Windows.
Trzeba tylko popatrzeć na nazwy klas okien - to się zobaczy.
Nie zawsze są wykorzystywane biblioteki Qt*.dll

Jeśli chodzi o rozwiązanie "tylko C++" to raczej wyboru nie ma.

  • Qt wygląda ładnie na Windows, ma największe wsparcie
  • GTK+ wygląda OK na Linux, wsparcie raczej słabsze
  • wxWidgets też jest używany, ale mało dynamicznie się rozwija i o kontrolki trudno

Jeśli dopuszczalne jest rozwiązanie heterogoniczne (C++ - zaplecze, międzymordzie w czymś innym), to można użyć C# lub Java.
Oba języki umożliwiają wykorzystanie C++ w formie bibliotek DLL (i pewnie SO). A do tych środowisk jest MASA komponentów.

0

a co powiecie o takich narzędziach jak c++ builder oraz glade do gtk+? używa ktoś tego komercyjnie w firmach? czy jedno nad drugim ma jakąś przewagę czy można oba te IDE wrzucić do jednej szuflady?

0

Wg mnie najrozsądniejszym rozwiązaniem jest użycie C# i napisanie dllek w C++(funkcje tylko do renderowania grafiki) tak jak już mówił @vpiotr w C++/CLI też by w sumie się dało no ,ale on jest ponoć nie zalecany do tworzenia okien. Później musisz pobrać binding ogl na c#. Później se możesz łatwo na panelu narysować scenę 3D i tak by było najszybciej. Jeśli chodzi o wyklikanie GUI

0

Wg mnie wxWidgets dla C++ jest jedyną opcją. Darmowe do zastosowań komercyjnych, ogromne wsparcie, lata rozwoju... W VC Express musiałbyś pisać w WinAPI, szkoda zachodu, a pchając się w C++/CLI ryzykujesz odejście od standardu C++ i narażasz się na stanięcie przed problemem, którego rozwiązania internet nie poda. Qt ma wg mnie niejasną politykę licencyjną. wxWidgets jest otwarty.

0

a co powiecie o takich narzędziach jak c++ builder oraz glade do gtk+?

C++ Builder umarł wraz z Delphi. Nie mówię że jest zły (nie mówię również że jest dobry) ale zawirowania biznesowe wokół Borlanda/CodeGeara/Embarcadero i polityka cenowa skutecznie zniechęciły świat do tych produktów.
Jak masz licencję to korzystaj, ale zakupu na chwilę obecną nie polecałbym.

EDIT: a nie chodziło ci przypadkiem o Gtk::Builder?

0

C++ Builder to prawdopodobnie najlepsza platforma do robienia GUI, z tym że przedawniła się.

  • rynek komponentów praktycznie umarł (torry.net jeszcze drga, ale to nie to co kiedyś)
  • nie jest wieloplatformowe
  • rynek pracy praktycznie nie istnieje
  • narzędzie kosztuje kosmiczne pieniądze - C++ Builder XE3 Pro: $1,279 (Java - darmówka, C# - darmówka lub $471.99 za Pro)
  • po zawirowaniach ze sprzedażą IDE z Borland do Embarcadero nie wiadomo w sumie czy za rok nie zniknie z rynku

Tych wszystkich wad nie ma Java i C#.

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