Nauka Qt + c++ jaki kierunek

Nauka Qt + c++ jaki kierunek
M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Dzień dobry
Jakiś czas temu zacząłem uczyć się c++ jakieś 4 miesiące temu i zastanawiam się czy teraz nie zacząć uczyć się Qt? Czytałem że lepiej nauczyć się porządnie c++ dopiero później przejść na Qt, ale co to znaczy porządnie ?
Znam obiektowe , klasy operacje na wskaźnikach , zaczołem naukę STL ?
Chciałbym oczywiście pracować kiedyś z Qt ale nie wiem jak biegły powinien być w c++.

Dzięki za odpowiedź i wyrozumiałość

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6968
0
mati19w napisał(a):

Czytałem że lepiej nauczyć się porządnie c++ dopiero później przejść na Qt, ale co to znaczy porządnie ?

Porządnie, czyli w takim stopniu, żebyś rozumiał mechanizmy wykorzystywane podczas pracy z biblioteką Qt.
Np. co znaczą *, &, :: w takim kodzie:

Kopiuj
CalculatorForm::CalculatorForm(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
    connect(ui.inputSpinBox1, &QSpinBox::valueChanged, this, &CalculatorForm::updateResult);
    connect(ui.inputSpinBox2, &QSpinBox::valueChanged, this, &CalculatorForm::updateResult);
}

Na początku dużym ułatwieniem byłoby, gdybyś pisał w Pythonie i używał PyQt, bo w Pythonie kod korzystający z Qt nie ma aż takich zawiłości.

Oprócz tego, ważne jest pisanie aplikacji w przejrzysty sposób. To też można podciągnąć pod porządną znajomość języka.
Odpowiedni podział kodu aplikacji na pliki.

M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
1
Spine napisał(a):
mati19w napisał(a):

Czytałem że lepiej nauczyć się porządnie c++ dopiero później przejść na Qt, ale co to znaczy porządnie ?

Porządnie, czyli w takim stopniu, żebyś rozumiał mechanizmy wykorzystywane podczas pracy z biblioteką Qt.
Np. co znaczą *, &, :: w takim kodzie:

Kopiuj
CalculatorForm::CalculatorForm(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
    connect(ui.inputSpinBox1, &QSpinBox::valueChanged, this, &CalculatorForm::updateResult);
    connect(ui.inputSpinBox2, &QSpinBox::valueChanged, this, &CalculatorForm::updateResult);
}

Na początku dużym ułatwieniem byłoby, gdybyś pisał w Pythonie i używał PyQt, bo w Pythonie kod korzystający z Qt nie ma aż takich zawiłości.

Oprócz tego, ważne jest pisanie aplikacji w przejrzysty sposób. To też można podciągnąć pod porządną znajomość języka.
Odpowiedni podział kodu aplikacji na pliki.

Dzięki za pomoc, wiadomo może i w pythonie było by mi łatwiej, ale nie chce uczyć sie Pythona i iść owczym pędem , bo jest łatwiej, celuje raczej w trudność , zauważyłem po prostu że wszyscy teraz chce się uczyć Pythona i przez to nie ma pracy dla juniorów a ja zaczołem od c++ I od razu po 2.5 miesiącu nauki jestem już na płatnym stażu a za miesiąc podpisuje umowę jako junior , i zauważyłem że chcę iść w c++
Czyli lepiej opanować język dopiero wtedy rozwijać się w framework, dziękuję pomogłeś.

CZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2553
0

Ucz się c++ i domeny w której planuejsz pracować + pójdź na studia, bo inaczej nie wejdziesz w rynek c++-a. QT to dodatek, w firmie się nauczysz. Firma wymagająca QT powinna płacić minimum 25k.

AN
  • Rejestracja: dni
  • Ostatnio: dni
0

Rozumiem, że chcesz umieć tworzyć oprogramowanie "tradycyjne", czyli z GUI, uruchamiane na komputerze. Moja droga nauki wyglądała odwrotnie, czyli C++ w ogóle zacząłem poznawać równolegle z Qt. Poprzedzone to było doświadczeniem z C#+WinForms i Java+Swing. W każdym przypadku to nie było "najpierw sam język porządnie, późnej framework", tylko "praca z frameworkiem od pierwszego kontaktu z językiem".

Natomiast, co ważne i z pewnością zaprocentuje, to tworząc program dobrze jest oddzielać logikę biznesową nieużywającą Qt od elementów używających Qt. Tak, jakbyś myślał o tym, że najpierw tworzysz program C++ z Qt, a za jakiś czas wymyślisz, że chcesz przerobić na wxWidgets lub GTK+. Wtedy na nowo opracujesz obsługę okienek, interfejsów sieciowych, bitmap, czy co tam będziesz używać, a logikę biznesową w czystym C++ po prostu skopiujesz i będziesz mieć program. Z drugiej strony, to nie trzeba się aż tak sztywno trzymać, użycie parę razy qPixmap w logice biznesowej aż tak nie zaszkodzi, w razie czego przerobienie na inną bibliotekę do map bitowych nie będzie szczególnie trudne, bo bitmapa z biblioteki, jakiej by nie była, jest zawsze podobna, czyli byt mający rozdzielczość i przestrzeń kolorów, a operować możesz na pikselach lub malować figury.

Teraz przeszedłem na apki konsolowe i WebASM, nauka samego języka zaprocentowała. Nie ma Qt, ani WinForms, ale sam język w kontekście tworzenia logiki biznesowej pozostał ten sam.

M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0
andrzejlisek napisał(a):

Rozumiem, że chcesz umieć tworzyć oprogramowanie "tradycyjne", czyli z GUI, uruchamiane na komputerze. Moja droga nauki wyglądała odwrotnie, czyli C++ w ogóle zacząłem poznawać równolegle z Qt. Poprzedzone to było doświadczeniem z C#+WinForms i Java+Swing. W każdym przypadku to nie było "najpierw sam język porządnie, późnej framework", tylko "praca z frameworkiem od pierwszego kontaktu z językiem".

Natomiast, co ważne i z pewnością zaprocentuje, to tworząc program dobrze jest oddzielać logikę biznesową nieużywającą Qt od elementów używających Qt. Tak, jakbyś myślał o tym, że najpierw tworzysz program C++ z Qt, a za jakiś czas wymyślisz, że chcesz przerobić na wxWidgets lub GTK+. Wtedy na nowo opracujesz obsługę okienek, interfejsów sieciowych, bitmap, czy co tam będziesz używać, a logikę biznesową w czystym C++ po prostu skopiujesz i będziesz mieć program. Z drugiej strony, to nie trzeba się aż tak sztywno trzymać, użycie parę razy qPixmap w logice biznesowej aż tak nie zaszkodzi, w razie czego przerobienie na inną bibliotekę do map bitowych nie będzie szczególnie trudne, bo bitmapa z biblioteki, jakiej by nie była, jest zawsze podobna, czyli byt mający rozdzielczość i przestrzeń kolorów, a operować możesz na pikselach lub malować figury.

Teraz przeszedłem na apki konsolowe i WebASM, nauka samego języka zaprocentowała. Nie ma Qt, ani WinForms, ale sam język w kontekście tworzenia logiki biznesowej pozostał ten sam.

Tak jak najbardziej na tym mi zależy , po prostu chciałem opanować Qt, ponieważ bardzo dużo ofert pracy jest z tym, a poza tym jeszcze mam czasu dużo na naukę, tyle że, ja znam tylko postawy po ukończeniu technikum , a na studiach raczej nic konkretnego nas nie uczą ... sam uczę się C++ i dlatego mnie to nurtowało czy Od razu Framework czy najpierw hard język, ale podzielasz opinie naszego Leada w firmie , mówił tak jak ty aby Od razu atakować Qt,.

M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0
mati19w napisał(a):
andrzejlisek napisał(a):

Rozumiem, że chcesz umieć tworzyć oprogramowanie "tradycyjne", czyli z GUI, uruchamiane na komputerze. Moja droga nauki wyglądała odwrotnie, czyli C++ w ogóle zacząłem poznawać równolegle z Qt. Poprzedzone to było doświadczeniem z C#+WinForms i Java+Swing. W każdym przypadku to nie było "najpierw sam język porządnie, późnej framework", tylko "praca z frameworkiem od pierwszego kontaktu z językiem".

Natomiast, co ważne i z pewnością zaprocentuje, to tworząc program dobrze jest oddzielać logikę biznesową nieużywającą Qt od elementów używających Qt. Tak, jakbyś myślał o tym, że najpierw tworzysz program C++ z Qt, a za jakiś czas wymyślisz, że chcesz przerobić na wxWidgets lub GTK+. Wtedy na nowo opracujesz obsługę okienek, interfejsów sieciowych, bitmap, czy co tam będziesz używać, a logikę biznesową w czystym C++ po prostu skopiujesz i będziesz mieć program. Z drugiej strony, to nie trzeba się aż tak sztywno trzymać, użycie parę razy qPixmap w logice biznesowej aż tak nie zaszkodzi, w razie czego przerobienie na inną bibliotekę do map bitowych nie będzie szczególnie trudne, bo bitmapa z biblioteki, jakiej by nie była, jest zawsze podobna, czyli byt mający rozdzielczość i przestrzeń kolorów, a operować możesz na pikselach lub malować figury.

Teraz przeszedłem na apki konsolowe i WebASM, nauka samego języka zaprocentowała. Nie ma Qt, ani WinForms, ale sam język w kontekście tworzenia logiki biznesowej pozostał ten sam.

Tak jak najbardziej na tym mi zależy , po prostu chciałem opanować Qt, ponieważ bardzo dużo ofert pracy jest z tym, a poza tym jeszcze mam czasu dużo na naukę, tyle że, ja znam tylko postawy po ukończeniu technikum , a na studiach raczej nic konkretnego nas nie uczą ... sam uczę się C++ i dlatego mnie to nurtowało czy Od razu Framework czy najpierw hard język, ale podzielasz opinie naszego Leada w firmie , mówił tak jak ty aby Od razu atakować Qt,.

Jeszcze chciałem zapytać co myślcie o nauce z GPT? staram się go raczej unikać , i zrozumieć problem , ale nie ukrywam że czasami używam Copailota gdy jestem w kropce.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6968
0

Obsługę forum mógłbyś też ogarnąć. Nie musisz cytować całych postów, jeśli odpowiadasz tuż pod nimi.
Tym bardziej nie musiałeś cytować swojego posta, jeśli chciałeś coś dopisać.

Jeśli chodzi o używanie GPT w nauce...
Często oprócz kodu dostajesz też opis, żeby zrozumieć co ten kod robi. To raczej nie różni się od korzystania z tutoriala/kursu przygotowanego pod konkretne zagadnienie.

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.