W czym zrobic GUI w C++

0

Mam sobie programik w C++ i rozne opcje sa tam do wybierania. Obsluguje to wyjatkowo archaicznie - z klawiatury przez podanie numeru opcji z listy... :/ No i tak sobie pomyslalem ze moze bym do tego jakis prosty interfejs dodal co by mozna to bylo myszka z menu wybrac. Tyle ze nie bardzo wiem jak to zrobic - a dokladniej to nie bardzo wiem na jaka biblioteke sie nastawic. Nie bede raczej robil zadnych dzikich rzeczy z obracaniem obiektow w 3 wymiarach, renderingiem itp. Chcialbym natiomiast moc zrobic okno (windows wystarczy - wieloplatformowosc mile widziana ale nie konieczna), zrobic w nim menu, otworzyc wewnetrzne okno (jak JInternalFrame w javie), podlaczyc do tego myszke i tym podobne. I tu pytanie: w czym to zrobic? Winapi, Allegro, OpenGL, DX czy inne jakies? No i z czego sie tego nauczyc najlepiej? Kto zechce doradzic?

0

wxWidgets na przykład.

0

Popieram

0

Acha tylko program pod Win32 napisany z użyciem tej biblioteki ma minimalnie rozmiar 3 Mega Bajtów.
Jeszcze jeden mit o przenoszeniu kodu między systemami , kompletna lipa.

0

Może Qt?

0
dzejo napisał(a)

Acha tylko program pod Win32 napisany z użyciem tej biblioteki ma minimalnie rozmiar 3 Mega Bajtów.

No to jest mały problem, ale "lepszy rydz niż nic".

Jeszcze jeden mit o przenoszeniu kodu między systemami , kompletna lipa.

Jeżeli ktoś wierzy w mity to jego problem ;)

0
dzejo napisał(a)

Acha tylko program pod Win32 napisany z użyciem tej biblioteki ma minimalnie rozmiar 3 Mega Bajtów.
Jeszcze jeden mit o przenoszeniu kodu między systemami , kompletna lipa.

a) uzyj strip'a b) nie ma rozy bez kolcow zwlaszcza z gui ;) c) skoro juz decydujesz sie pisac cross platform to chyba nie oplaca sie paprac tak z prostym programikiem a stworzyc cos konkretnego i wtedy te 3mb nie wygladaja tak ogromnie :P

0
cepa napisał(a)

c) skoro juz decydujesz sie pisac cross platform to chyba nie oplaca sie paprac tak z prostym programikiem a stworzyc cos konkretnego i wtedy te 3mb nie wygladaja tak ogromnie :P

Problem w tym, ze ktos moze nie chciec robic powaznych programow cross-platform a jedynie skorzystac z dobrej, darmowej biblioteki ;)

0

Acha tylko program pod Win32 napisany z użyciem tej biblioteki ma minimalnie rozmiar 3 Mega Bajtów.
Jeszcze jeden mit o przenoszeniu kodu między systemami , kompletna lipa.

W GTK zajmuje 10 KB pod Win32 (zle wymagane dodatkowe dll-ki) i okolo 800 kB pod Linuxem. Przenosnosc jest dobra (dla prostych programow przynajmniej, bo duzych projektow w GTK jeszcze nie robilem), za kazdym razem bez problemow udalo mi sie skompilowac ten sam kod pod Windows i pod Linux.

Ale na podstawie moich (pobieznych) obserwacji moge powiedziec ze QT jednak jest chyba lepsze od GTK.

Poza tym jest jeszcze BCB, Visual C++ i MFC, KYLIX... najlatwiej bedzie w BCB, ale jak z ta przenosnoscia w Kyliksie jest to nie wiem, bo mi sie nie udalo zainstalowac go w Linuksie.

0

Dzieki bardzo za podpowiedzi!

No to waHam sie pomiedzy QT a wxWidgets... Pewnie co bedzie latwiejsze do przyswojenia (bardziej lopatologiczny kurs) to zostanie zastosowane. Jeszcze jedno pytanko - Czy do tych bibliotek znacie jakies kursy lepsze od tych co sa na oficjalnych stronach?

BTW - wieloplatformowosc to naprawde dla mnie sprawa malo istotna - jak ostatio na forum znalazlem "Linux i inne takie niszowe systemiki raczej mnie nie interesują"... [rotfl] [glowa] ;] A tak serio to jak bedzie dzialac na linuxie i innych to milo - jak nie to trudno.

0

Do wxWidgets jest też środowisko wxDev-Cpp pozwalające tworzyć interfejs myszą, fajna sprawa i trochę ułatwia.
Podstawy znajdziesz nawet po polsku, jakieś tutoriale jak zacząć, ale dotyczące biblioteki. wxDev sam generuje ten kod, więc nie powinno być ci nawet to potrzebne.

0

W QT jest QTDesigner, wiec na jedno wychodzi.

0

polecam FOX. www.fox-toolkit.org
mily i prosty GUI, przeskoczylem na niego z QT omijajac gtkmm (obietkowa implementacja gtk+)
na poczatku troche ciezko zaskoczyc obsluge zdarzen, (nie jest taka elegancka jak w qt, makra), ale dziala bardzo sprawnie, kompilowalem pod linuxem i cygwinem, teraz chce odpalic pod BCC.

0

QT Designer imo sux :P Co do samej Qt:

Qt to wspaniała i bardzo rozbudowana i szybka biblioteka, dzięki której można tworzyć graficzne aplikacje o bardzo dużych możliwościach. Można jej używać w językach takich jak C++, Python, C#, Ruby (oczywiście są to oddzielne wersje pod dany język). Kod kompiluje się (bez żadnych modyfikacji kodu) pod systemami Linux i Windows. Posiada setki dopracowanych, przydatnych, o wielkich możliwościach klas - np. ok. 15 klas do obsługi XML-a.

Ciekawostka: całe środowisko graficzne KDE oraz 99% aplikacji pod KDE, w tym np. Opera.

Polecam :)

0

Dorzucę swoje trzy grosze (mam nadzieję, że aktualne, bo jakiś czas miałem przerwy w porównywaniu).
Z tego co czytałem wychodzi, że wxWidgets i QT mają te same możliwości, z tą różnicą, że QT jest szybsze i przyjaźniejsze programistom (choć to opinie innych - sam nie miałem okazji sprawdzić).
Sam jednak korzystam z wxWidgets. Powód jest bardzo prosty - licencja. W QT z tego co pamiętam (może się coś zmieniło) trzeba płacić przy wykorzystaniu do programów profit. Zaś wxWidgets jest po całej linii za darmo.

Co do kompilacji to swój program (bo na razie tyle ich napisałem) kompilowałem bez żadnych zmian pod win i linuksem (wxWidgets+SQLite). Jedyne co wymagało później dopracowania to jakieś szczegóły kosmetyczne (np. odpowiednie flagi do okienek, żeby im się ramki takie jak chcę robiły zarówno pod GTK jak i WinAPI).

0
Osiom napisał(a)

Jeszcze jedno pytanko - Czy do tych bibliotek znacie jakies kursy lepsze od tych co sa na oficjalnych stronach?

Jak dla mnie wybierz Qt, tak jak ja. Jest prostsze. A co do podręczników to nie wiem czemu się czepiasz oficjalych podręczników. Ja się uczę z oficjalnego podręcznika Qt i jest tam wszystko jasno i prosto wyjaśnione. A jak już chcesz polskie beznadziejne książki typu "Poznaj Programowanie przy użyciu biblioteki QT w 24 godziny" to nie bronie Ci, ale Qt jest tak proste, że z samych przykładów programów napisanych w oficjalnej książce powinieneś napisać to co chcesz. Pozdrawiam

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