Pisanie własnej aplikacji Win w Qt 4 - prośba o wskazówki, porady

0

Dzień dobry!

Witam wszystkich, to jest mój pierwszy post, generalnie nie lubię pisać na forach i robię to w ostateczności, jednak mam nadzieje że nikt tu mnie nie potraktuje "z buta" ;) przeszukałem pierwsze tysiąc wyników z działu C++, jednak nie było podobnego tematu o Qt, więc pisze nowy.
Mam kilka pomysłów, na napisanie aplikacji, niestety to co umiem nie wystarcza mi, gdyż jestem tylko po zaocznym technikum informatyki

Qt framework 4 wybrałem dlatego, że ze wszystkich języków c++ nie jest mi obcy, a co za tym idzie nie muszę się od nowa uczyć podstaw samego programowania w innym języku.
Wyposażyłem się już w pakiet qtcreator i cały SDK, oraz skompilowałem kilka podstawowych "helołorldów" i notatników przy okazji ćwiczeń z różnych tutoriali qt, jednak poprzez brak doświadczenia mam nadal problem z tzw. "dobrymi nawykami" oraz obeznaniem z różnymi opcjami. Mam kilka pytań i próśb o porady od osób które są w qt bieglejsze niż ja, bo mam mętlik w głowie. niestety nie znam się na fachowych określeniach więc pytam jak noob.

  1. do jakich typów aplikacji docelowych należy używać którego typu projektów, konkretnie QtQuick i QtGui, co moge uzyskać za pomocą jednego i drugiego?
  2. pisząc aplikacje okienkową korzystam z dziedziczenia po QMainwindow, lub QWidget, jednak nie wynalazłem nigdzie jakie są praktyczne, lub teoretyczne różnice między tymi dwoma klasami. tzn kiedy powinienem używać jednej a kiedy drugiej. do tej pory wyglądają one dla mnie na w pełni zamienne, jednak na pewno tak nie jest, może ktoś ma jakiś link?
  3. umiem napisać (z pomocą internetu) jakąś aplikacje z menu, przyciskami, slotami, czy innymi obiektami, jednak tu sie rodzi najważniejsze pytanie, co jeśli chce napisać aplikacje, która ma okienko zbudowane z własnych, bądź grafik, bądź innych elementów typu kolory, blendy, alpha, kształty, linie...??? co do tego wydaje mi sie że służy QML, czyli jedynie wchodzi w gre projekt typu Qt Quick (bazując na opisach przy tworzeniu projektu). Jak rozumiem QML to coś jakby przystawka od wyglądu do c++, na zasadzie css przystawka wyglądu do html... czy jest to jedyna opcja?? jeśli nie to jak najlepiej stworzyć takie okienko? a może jednak musze użyć czego innego? *(.NET, OpenGL, jakieś inne??) *
  4. co do samego QML skąd można się go nauczyć? czy są jakieś dobre tutoriale bądź kursy qml w wersji PDF, bądź inne offlineowe (mam limity na łączu bezprzewodowym) bądż jakieś strony gdzie w miare w jednym miejscu kompleksowo będzie to opisane? ewentualnie jakieś e-booki?
  5. ostatnie pytanie, to czy może mi ktoś poradzić jak tworzyć, jakby to nazwać "szkielet" projektu z kilkoma okienkami? chodzi mi konkretnie o układy plików, źródeł, nagłówków, rozmieszczenie kodu, strukture katalogów (bo raczej trzeba wszystko porządkować, by mieć przejrzystość) jakieś złote zasady poprawnego tworzenia projektu, takie, których powinienem się trzymać?

przepraszam za dużą ilość liter, mam nadzieje że ktoś mnie zrozumie.

pozdrawiam Ivox

0
  1. Używaj QGui. Technologia QT Quick to raczej na urządzenia mobilne.
  2. Oczywiście, ze tak nie jest. Widget to przecież coś takiego jak kontrolka. Możesz ją umieścić gdzie Ci się żywnie podoba. Z QMainWindow nie zrobisz takiej sztuczki. Zresztą, tak jak powiedziałem i tak jak sugeruje nazwa - QMainWindow to klasa głównego okna w skład której wchodzi wiele obszarów - http://harmattan-dev.nokia.com/docs/library/html/qt4/images/mainwindowlayout.png. WIdget to kontrolka, a to, że jeśli nie umieścisz go na żadnym oknie i zostanie dodana do niego ramka z przyciskami (minimalizuj, zamknij etc) to naturalne zachowanie.
  3. Nie wiem jak bardzo chciałbyś mieć to zaawansowane. Przejrzyj przykłady dostępne poprzez qt creator. Wiele rzeczy osiągniesz nawet poprzez ustawienie styleSheetow dla podstawowych kontrolek. Ja bawię się z Qt już parę lat a jakoś nigdy nie ciągnęło mnie do wykorzystywania Qt quick.
  4. Szukaj a będzię Ci dane. W Qt creator jest też masa przykładów i samouczków (ekran startowy Qt Creatora).
  5. Jedyne czemu możesz się przyjrzeć to podział projektu na kilka podprojektów.

Bez obaw, mózg mi się nie uszkadza od zbyt dużej liczby liter.

EDIT. AH no tak, i jak możesz to przesiądź się na QT 5, bo nie widze sensu dlaczego miałbyś pisać w starszej wersji

0

dziękuję za szybką odpowiedź:)

  1. rozumiem, że do aplikacji na windows mam używać projektów z QT Widget -> Gui Qt, i obsłuży ona moje założenie do Qml?
  2. czyli w głównym oknie QMainWindow umieszczam widgety i np moge dodawać nowe okienka opcji, czy szukania poprzez wywołanie z buttona dodatkowego QWidget-u?
  3. co do zaawansowania potrzebuje konkretnie wykonać panel bez ramek i buttonów typu [_] [X] ze skórką z pliku graficznego z przezroczystością niektórych elementów i nakładkami cienia linii, kolorka i innych grafik. Czy to sie robi za pomocą QML-a czy właśnie stylesheetów o których mówisz? bo może w ogóle mi qml nie bedzie potrzebny?
  4. ekran przykładów przeglądałem nie raz lecz sam kod bez komentarzy jest trudny do złapania tak bez żadnego przygotowania. lecz na pewno nadal będę szukał. myślałem po prostu że jest coś, gdzieś, co ominalem gdzie jest wyjaśnione, jak np strona qt, tylko na temat qml
  5. kilka podprojektów mowi mi raczej że po kompilacji będzie kilka plików exe, a mi zależy na jednym, jeśli dobrze rozumuje... czy może to chodzi o podział na zasadzie projekt od głównego okna i poszczegolne projekty od poszczegolnych okien - dzieci?
    pozdrawiam

EDIT:
próbowałem Qt5, lecz z powodu braku tak dużej ilości i dobrych kursów wróciłem do czwórki. czy przesiadka na piątke jest bardzo wysoce zalecana, czy jest to niezbędne? wersja 5 ma troche niespójności z 4 więc część rzeczy musiał bym też pisać od nowa...

0
  1. Uzywaj po prostu takich klas jak QMainWindow, QWidget etc. O qml sie nie wypowiadam
  2. Button to widget. Mozesz go umiescic w dodatkowym widgecie - jesli chcesz.
  3. Wlasciwosci, metody, stylesheety, zrobilbym bez qml
  4. http://blog.matthew.org.pl/kategoria/programowanie/qt/kurs-qt/page/2/
  5. Niekoniecznie, moga to byc biblioteki a nie pliki wykonywalne

http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5 - z czego najwazniejszym jest dodanie Qt+=widgets w pliku pro . Qt 5 nie rozni sie koncepcyjnie od qt 4 wcale. Dodane sa nowe funkcjonalnosci i przerobionych kilka starych. Ujdzie? Mozesz sie uczyc qt 3 i ujdzie. Twoj wybor. Chociaz ja wole zawsze najbardziej aktualne i funkcjonalne narzedzia.

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