Jakie GUI ?

0

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.

0

Czytałem ten temat, lecz zawiele nie jest tam napisane. Chciałbym uczyćsię GUI ktore jest w chwili najpopularniejsze...

0

Qt jest chyba teraz na fali

0

nie ma najlepszego, są lepsze i gorsze, są przenośne i są związane z konkretnym kompilatorem a nawet systemem operacyjnym.

0

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).

0

Dużo osób na różnych forach jest za qt, więc chyba to będzie najlepszy wybór.

0
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.

0

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)

0

A czy to prawda że ucząc się Qt uczę się nowego języka?

0

Hmm ... języka raczej nie, bo składna jest taka sama jak w C czy C++. To jest raczej po prostu poznawanie biblioteki tak jak każdej innej. w Qt sprawa jest znacznie ułatwiona, bo jest do tego znakomita dokumentacja.

0
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.

0

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.

0

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 :)
    }


}
 
0

Przyznam się że jeśli chodzi o oprogramowanie obiektowe w praktyce nie miałem wiele do czynienia, ale to nie z braku chęci. Najpierw poczytam dokładnie o programowaniu obiektowym, napiszę coś i biorę się za Qt ;.

0

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.

0
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.

0

i nie do końca zawiera taką samą składnie, bo np. w czystym c++ nie masz specyfikatorów dostępu typu public/protected/private slots, albo specyfikator signals.

0

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++.

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