Jakie GUI ?

mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
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.

piternet
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 6 lat
  • Postów:162
0
mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
0

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

BL
  • Rejestracja:ponad 16 lat
  • Ostatnio:5 miesięcy
0

Qt jest chyba teraz na fali


Zapraszam osoby początkujące na indywidualne szkolenia z programowania w JAVA. Dla najlepszych, po zakończonym kursie, praca ze stawką początkową 10-12tyś netto. Kurs trwa od 6 do 24 miesięcy, 1-2h w tygodniu, 150PLN/h. szkolenia kropka java malpaa gmail kropka com
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 8 godzin
0

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

YA
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 13 lat
  • Postów:36
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).

mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
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.

Siuda
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 13 lat
  • Postów:7
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)


Brotherhood & Fun!
mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
0

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

BL
  • Rejestracja:ponad 16 lat
  • Ostatnio:5 miesięcy
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.


Zapraszam osoby początkujące na indywidualne szkolenia z programowania w JAVA. Dla najlepszych, po zakończonym kursie, praca ze stawką początkową 10-12tyś netto. Kurs trwa od 6 do 24 miesięcy, 1-2h w tygodniu, 150PLN/h. szkolenia kropka java malpaa gmail kropka com
edytowany 1x, ostatnio: Blood
several
  • Rejestracja:prawie 16 lat
  • Ostatnio:około 10 godzin
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.


edytowany 1x, ostatnio: several
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 8 godzin
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.

several
Hmmm...QInt czy QFloat nie ma :P Przynajmniej w 4.6.0 którą posiadam.
LO
  • Rejestracja:prawie 20 lat
  • Ostatnio:ponad 4 lata
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)

Kopiuj
/*
 * 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 :)
    }


}
 
edytowany 1x, ostatnio: LOSMARCELOS
06
Ten "przykład programiku" coś niekompletny ;)
mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
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 ;.

mto9
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 10 lat
  • Postów:380
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.

several
Weź lepiej się zabierz najpierw za coś bardziej intuicyjnego :)
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.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 8 godzin
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++.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.