Witam,
mam pytanie, co w Qt oznacza taki zapis:
ui->setupUi(this);
nie spotkałem się z nim w c++ ( przerabiałem kurs Pana Mirosława Zelent ). Wiem pytanie banalne, ale zeby zacząć zadawać trudniejsze muszę zacząć od zera : D
Z góry dziękuję : )
Witam,
mam pytanie, co w Qt oznacza taki zapis:
ui->setupUi(this);
nie spotkałem się z nim w c++ ( przerabiałem kurs Pana Mirosława Zelent ). Wiem pytanie banalne, ale zeby zacząć zadawać trudniejsze muszę zacząć od zera : D
Z góry dziękuję : )
Nie ironizuj pingwin.
Zapraszam do dowolnego dobrego kursu (niestety, raczej źle trafiłeś). -> to operator dostępu do członka klasy, Twój zapis jest równoznaczny z (*ui).setupUi(this)
Dziękuję : ) dlaczego źle trafiłem ? (fakt że nie rozumiem co napisałeś, ale już jestem bliżej zrozumienia niż 30 min temu : D ) :( czy jest jakiś kurs który płynnie przechodzi od c++ do qt ?
To nie jest zapis jakiś specjalny dla Qt. Po prostu za mało znasz C++.
Dlaczego nie Zelent? http://4programmers.net/Forum/1226486
Dobra, myślę że to dobry czas by zakupić książka Symfonia c++, ma bardzo dobre opinie w internecie, tylko ofert pracy jako programista c++ jest mało, czy po przerobieniu tej książki łatwo jest się przenieść na np. java? Mam bardzo duży dylemat jaki język wybrać, ponieważ co ogłoszenie o prace to inny język programowania i przez dwa miesiące będę się uczył podstaw c++ , a później się okaże że i tak pracy po tym nie ma : (
C++ teraz jest używany głównie w grach AAA - np. w silniku Unreal.
Jednakże ogrom softu wytwarza się obecnie w Javie i C#.
W czymkolwiek nauczysz się programować, w innych językach myślenie jest takie samo. Jedynie zapis się zmienia ;) Ale po nauczeniu się jednego języka i obsługi jego biblioteki standardowej, wiesz czego szukać w innych językach.
Załóżmy, że spodobał Ci się vector w C++. Szukasz "c++ vector java" i pierwsze co Ci wyskakuje, to "użyj ArrayList" ze stackoverflow :)
Ok tak zrobię : ) c# wywodzi się z c++ tak?
Symfonia c++ 3 c to najnowsze wydanie? Tak jest na allegro ale nie wiem czy można ufać sprzedawcą : D
Nie, C# nie wywodzi się od C++. Jednak podstawy są bardzo podobne we wszystkich 3 wymienionych w wątku językach.
symfonia nie jest dobra ksiazka do C++
Na dobra sprawe nie ma dobrej polskiej ksiazki do C++
Wybitny Samiec napisał(a):
A prawie wszyscy ja polecają : d
Kto? Uczniowie, którzy nie mają styczności z prawdziwym kodem czy nauczyciele, którzy nie mają styczności z prawdziwym kodem?
Symfonia była kiedyś dobra. Kiedyś. Z 10 lat temu może sam bym ci ją polecił. Ale mamy rok 2016 a nie 2006 a książka się nie zmieniła...
Jak wygooglujesz coś dobrego to daj znać, bo ja jeszcze nic nie widziałem. Najbliżej jest chyba Prata wersja 6, ale to też nie ideał.
Wiem mniej niż wiedziałem, a po przeczytaniu jakiegoś tematu na tym forum w którym zdecydowanie odradzana była nauka c++ zastanawiam się czy nie zmienić języka na np. java - ciekaw jestem czy tutaj jest jakaś książka polecana po polsku : )
@kq: Operator wyłuskania to "*".
Wskazany tutaj operator "o->p" ma różne nazwy, ale to odwołanie się do pola struktury/obiektu.
Jest to inaczej niż w języku angielskim.
"*": pol: operator wyłuskania, ang: indirection ("wskazanie pośrednie")
"->": pol: odwołanie/wybór pola z obiektu/struktury, ang: "structure dereference" (wiki), "member of pointer" (cppreference)
Źródła:
http://en.cppreference.com/w/cpp/language/operator_member_access#Built-in_member_access_operators
https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Member_and_pointer_operators
https://pl.wikipedia.org/wiki/Operator_%28programowanie%29
Edit: dodatkowo - K&R tego specjalnie nie nazywa (ja przynajmniej nie znalazłem),
za to w polskim "Język C++ Kompendium Wiedzy" jest dodatkowo do tego co wyżej "*" - "dereferencja".
Wybitny Samiec napisał(a):
Wiem mniej niż wiedziałem, a po przeczytaniu jakiegoś tematu na tym forum w którym zdecydowanie odradzana była nauka c++ zastanawiam się czy nie zmienić języka na np. java - ciekaw jestem czy tutaj jest jakaś książka polecana po polsku : )
Ja zacząłem od C++ a później bardzo łatwo uczyło mi się Javy. Syntaktycznie są dość podobne. A co do książek to polecam tą: Java: The Complete Reference wydanie IX. Jest też po polsku.
Wybitny Samiec napisał(a):
Witam,
mam pytanie, co w Qt oznacza taki zapis:ui->setupUi(this);
nie spotkałem się z nim w c++ ( przerabiałem kurs Pana Mirosława Zelent ). Wiem pytanie banalne, ale zeby zacząć zadawać trudniejsze muszę zacząć od zera : D
Z góry dziękuję : )
Chodzi o to by ładnie połączyć twój kod z kodem generowanym automatycznie.
Wyklinałeś jakieś okno, które jest zapisanie w postaci xml-a. Teraz podczas budowania Qt na pdostawie tego generuje kod C++ , który utworzy okienko takie jak wyklinałeś.
Ponieważ kodu generowanego nie należy modyfikować ręcznie, a musi on być jakoś połączony z twoim kodem, całość wygenerowanej logiki ukrywa się za wskaźnikiem ui.
Do setup musisz przekazać this bo ta wygenerowana funkcja musi wiedzieć, gdzie (w jakim MainWindow) umieścić te elementy UI.