Witam. Poznałem już strukturę C++ i teraz chcę pisać aplikacje okienkowe, lecz nie wiem jakie GUI wybrać. Dodam że nie miałem jeszcze z tym styczności (do tej pory pisałem aplikacje konsolowe). Chciałbym abyście mi doradzili które z GUI jest najlepsze.

- Rejestracja:prawie 15 lat
- Ostatnio:prawie 6 lat
- Postów:162
Opcja szukaj nie boli.
http://4programmers.net/Forum/C_i_C++/178291-gui_w_c++
- Rejestracja:prawie 14 lat
- Ostatnio:ponad 12 lat
- Postów:36
Wiele osób najchętniej poleciłoby to co używają lub znają najlepiej. Ja zachęcam do nie-pisania windows_only i użycia czegoś przenośnego np. wymienione wcześniej qt, którego sam trochę używam, i do którego są nawet specjalnie przeznaczone IDE (również wielo-platformowe).
mto9 napisał(a)
Dużo osób na różnych forach jest za qt, więc chyba to będzie najlepszy wybór.
oczywiście będzie to dobry wybór jednak powinieneś się liczyć z tym, że Qt wymaga od programisty dobrej umiejętności programowania obiektowego. Pytanie czy poznałeś, jak to nazwałeś "strukturę c++" na tyle dobrze aby zacząć programować we framework'u, który poza samą swoją obiektową budową rozszerza również możliwości języka o niestandardowe konstrukcje.

- Rejestracja:prawie 14 lat
- Ostatnio:prawie 13 lat
- Postów:7
Trochę tego jest do wyboru...
Jeśli jesteś pewien że chcesz pisać na Windowsa to polecam .NET i od razu język C# (na moje wygodniejsze)
na Linuxach najczęściej pisze się w Qt i Gtk (przy czym w Gtk modny staje się Python [dynamiczne typowanie, automatyczne zarządzanie pamięcią])
Dobrym narzędziem jest też Java, biblioteki Swing i SWT
Pamiętajmy, że Java, Qt i raczej Gtk są multiplatformowe, co ciężko powiedzieć o .NET
Są też inne rozwiązania (wcześniej wspomniane)
FLTK, WxWidgets
Słyszałem, że WxWidgets staję coraz bardziej popularny, ale nie sądzę, żeby na początek pisało się tam wygodnie
FLTK sam nie wiem
Jeśli jesteś pewien, że koniecznie chcesz pisać w C++ -> Qt jest dobrym pomysłem, mi pisało się wygodnie... jest o tym kilka dobrych materiałów w sieci, dasz sobie radę
Sam muszę się bliżej przyjżeć wspomnianym bibliotekom, to co wypisałem trochę bazuje na tym co "słyszałem" (w sumie to bardziej czytałem)

- Rejestracja:ponad 15 lat
- Ostatnio:około 3 godziny
mto9 napisał(a)
A czy to prawda że ucząc się Qt uczę się nowego języka?
Zauważyłem że takie opinie roznoszą ludzie którzy nie poznali zbyt wiele technologii, dla nich rzeczywiście nauka Qt to jakby nauka innego dialektu. By dobrze operować Qt trzeba dobrze znać C++ w ujęciu obiektowym (dobrze czyli praktycznie a nie "akademicko" czy książkowo), nawet na stronach dokumentacji trolltechu jest to podkreślone. Qt to landara, która oferuje dużo więcej niż tworzenie interfejsu, przez swój dość specyficzny mechanizm sygnałów i slotów nie każdemu pasuje. Ja Qt traktuję jak swego rodzaju framework dla C++.
mto9 napisał(a)
Witam. Poznałem już strukturę C++
Dość często ludzie piszą tu takie rzeczy, jakie projekty masz na swoim koncie? Jeżeli nie napisałeś jeszcze niczego co mogłoby się komuś do czegoś przydać to ja radziłbym Ci poznać coś "lżejszego" niż Qt.

- Rejestracja:ponad 21 lat
- Ostatnio:około 6 godzin
A czy to prawda że ucząc się Qt uczę się nowego języka?
ponieważ Qt zawiera rozszerzenia składni (sygnały-sloty) których nie da się uzyskać żadnymi makrami w standardowym C++, formalnie jest to „nowy język”. Ale ta sama sytuacja jest w C++ Builderze i jego VCL, a już do potęgi n-tej w Microsoftowym C++/CLI.
Do tego Qt używa własnych klas do wszystkiego co się da, więc jeśli ktoś się uczył biblioteki standardowej C++, to musi się uczyć wszystkich klas na nowo.

- Rejestracja:ponad 19 lat
- Ostatnio:około 4 lata
A może wxWidgets ?? Jest lżejsze, można kompilować statycznie (jeden plik exe), dostęp do WinAPI jest bez problemów, dodatkowo swobodniejsza licencja. No i kontrolki interfejsu użytkownika są generowane natywnie (nie emulowane jak w przypadku QT). Jakaś alternatywa to jest. Fakt, że nie jest popularny jak QT, ale może warto spróbować?
Przykład programiku otwierającego pliki multimedialne (wxButton1 - to otworz klip/mp3/jpeg/) i dokumenty HTML z dysku (wxButton2)
/*
* WxButton1Click
* Otworz plik... przycisk
*/
void Project1Frm::WxButton1Click(wxCommandEvent& event)
{
// otwieramy media playera
WxMediaCtrl1->ShowPlayerControls(wxMEDIACTRLPLAYERCONTROLS_DEFAULT);
if (WxOpenFileDialog1->ShowModal() == wxID_OK)
{
// jesli uzytkownik zatwierdzil wybor pliku
if (WxMediaCtrl1->Load(WxOpenFileDialog1->GetPath()) == false) // jesli problem z pobraniem sciezki
{
wxMessageBox( wxT("Bład!."), wxT("Bład"), wxICON_ERROR); // pokaz komunikat o bledzie
}
else // jesli OK
{
WxMediaCtrl1->Play(); // otwieramy :)
}
}
}
/*
* WxButton2Click
*/
void Project1Frm::WxButton2Click(wxCommandEvent& event)
{
// insert your code here
if (WxOpenFileDialog2->ShowModal() == wxID_OK)
{
WxHtmlWindow1->LoadPage(WxOpenFileDialog2->GetPath()); //wczytanie pliku HTML do kontrolki :)
}
}

- Rejestracja:około 14 lat
- Ostatnio:około 10 lat
- Postów:380
Sorki że post pod postem ale czytałem na necie o Qt i nie wiem czy dobrze zrozumiałem ;D według mnie Qt zawiera taka sama skladnie jak C++ (classy, funkcje, enum, dziedziczenie itd), ale używa własnych bibliotek? Aha i mogłby mi ktoś wytłumaczyć na czym polega ten mechanizm sygnałów i slotów.

mto9 napisał(a)
Sorki że post pod postem ale czytałem na necie o Qt i nie wiem czy dobrze zrozumiałem ;D według mnie Qt zawiera taka sama skladnie jak C++ (classy, funkcje, enum, dziedziczenie itd), ale używa własnych bibliotek? Aha i mogłby mi ktoś wytłumaczyć na czym polega ten mechanizm sygnałów i slotów.
będziesz teraz prosił o wykład na temat mechanizmów w Qt? Książka lub dokumentacja do ręki i zacznij czytać. Na stronie Qt jest do pobrania darmowy ebook do Qt 4.xx (nie pamiętam dokładnie, której wersji), na początek ci wystarczy. Poza tym dokumentacja Qt jest dość fajnie opracowana oraz przykłady do niej (już troszkę gorzej, gdyż skupiają się raczej na zaprezentowaniu jego możliwości jednak z nich również wiele można wynieść). klik - odpowiedź na twoje pytanie.

- Rejestracja:ponad 21 lat
- Ostatnio:około 6 godzin
Właśnie te sygnały i sloty sprawiają, że nie jest to tylko "C++ z biblioteką", bo nie da się ich w taki sposób zrobić żadną biblioteką. Program w Qt jest przed właściwą kompilacją przepuszczany przez specjalny preprocesor MOC, który tłumaczy go na standardowy C++, a dopiero potem poddawany kompilacji kompilatorem C++.