Lut 24 2010

Kurs Qt - Część 6 - Rysowanie

Kategorie: Kurs Qt Programowanie Qt Techblog Matthew @ 01:11:49

6. (z dużym opóźnieniem) część kursu Qt. Z racji, że ostatnio zostałem zmuszony do rysowania grafów itp. rzeczy (na szczęście można było wybrać technologię) to dziś przedstawię właśnie rysowanie (proste, nie grafów, za dużo nerwów mnie to kosztowało ;P) w Qt. Przy okazji mały pokaz jak zrobić menu kontekstowe

Czytaj dalej...

Lis 27 2009

Kurs Qt - Część 5 - Layout

Kategorie: Kurs Qt Programowanie Qt Śmietnik Techblog Matthew @ 21:51:16

Kolejna część kursu Qt. Tym razem zajmiemy się layoutami, które pozwolą nam uporządkować widgety w oknach naszych aplikacji. Przy okazji załatwią nam sprawę "ładnego" wyglądu okna w przypadku jego rozciągania.

Czytaj dalej...

Lip 26 2009

Kurs Qt - Część 4 - Wątki

Kategorie: Kurs Qt Programowanie Qt Techblog Matthew @ 16:22:35

Kolejna cześć kursu Qt. Tym razem będzie o wątkach. Niestety, praca i brak niebezpieczeństwa zawalenia egzaminów strasznie rozleniwiają, więc dopiero teraz udało mi się zebrać i coś napisać (nie lubię wakacji, masa czasu a nic nie udaje się zrobić ;)). Stworzymy proste wątki, będzie to tradycyjny przykład producenta i konsumenta. Na początku z wyścigami, później postaramy się przed nimi zabezpieczyć. A więc do dzieła:

Czytaj dalej...

Cze 14 2009

Kurs Qt - Część 3 - Zasoby

Kategorie: Kurs Qt Programowanie Qt Techblog Matthew @ 16:02:12

W tej części zrobimy coś pożytecznego. Napiszemy notatnik. Ale nie byle jaki. Będzie miał ikony! :D A co za tym idzie nauczymy się dołączać zasoby do naszej aplikacji. Czas przygotować ikony, które dołączymy do naszej aplikacji z poprzedniej cześciu kursu.

Plik zasobów to zwykły xml, który ma w sobie ścieżki do plików które mają być później dołączone do naszego programu. Plik zasobów wygląda tak:

  1. <RCC>
  2.         <qresource prefix="/" >
  3.                 <file>copy.png</file>
  4.                 <file>cut.png</file>
  5.                 <file>paste.png</file>
  6.                 <file>open.png</file>
  7.                 <file>save.png</file>
  8.                 <file>new.png</file>
  9.         </qresource>
  10. </RCC>
  11.  

Jak widać składnia jest bardzo prosta. W przypadku Qt Creator mamy odpowiedni edytor, który w sposób klikany, załatwia za nas całą pracę (dodaj pozycję, wskaż plik, ciesz się życiem ;)). Nasz plik nagłówkowy się niewiele zmienił. Trochę go posprzątamy (wyrzucimy etykiety i przyciski, żeby zrobić miejsce pod pole edycji teksty, które dodamy w przyszłych częściach kursu) i dodamy wskaźniki do obiektów pasków narzędzi (linie 25. i 26.).

Czytaj dalej...

Cze 07 2009

Kurs Qt - część 2 - Qt Creator

Kategorie: Kurs Qt Programowanie Qt Techblog Matthew @ 00:58:29

Ponieważ kilka osób chciało opisu jak korzystać z Qt Creator, więc dzisiaj zamiast klepać kolejne linijki kodu (no komu w weekend się chce pisać?) przygotowałem kilka obrazków pokazujących jak się poruszać po Qt Creator (jak ktoś mi podpowie jak zrobić screencast z 1920x1200 bez zabijania całej maszyny to postaram się szybko coś nakręcić). Miłego czytania.

Qt Creator ma wypełnić lukę która pozostała po Qt Designer w Qt3, a który to w Qt4 przekształcił się w czysty edytor formatek. Qt Creator zawiera w sobie wygodny edytor kodu (choć jego używanie na początku może wydawać się trudne ze względu na odmienne podejście do zarządzania oknami niż w przypadku innych IDE), debuger, dokumentację (integracja Qt Assistant) oraz edytor formatek (Qt Designer). Aktualna wersja to 1.1.1 (Windows) lub 1.1.0 (Linux i MacOS X). Sam program po uruchomieniu wygląda tak:

Czytaj dalej...

Cze 03 2009

Kurs Qt - część 1 - sygnały, sloty i własne widgety

Kategorie: Kurs Qt Programowanie Qt Techblog Matthew @ 20:27:16

Miał być w piątek, więc wrzucam dzisiaj. ;) Z tej części kursu poznamy klasę głównego okna w Qt, jak tworzyć własne widgety oraz na czym polega mechanizm sygnałów i slotów. Miłej lektury.

Główne okno w Qt reprezentuje klasa QMainWindow. Jest to chyba najczęściej dziedziczona klasa. Pozwala nam na umieszczanie menu oraz statusu. Najprostszy program z QMainWindow wygląda tak:

mainwindow.hpp:

  1. #ifndef MAINWINDOW_HPP
  2. #define MAINWINDOW_HPP
  3.  
  4. #include <QMainWindow>
  5.  
  6. class MainWindow : public QMainWindow
  7. {
  8. public:
  9.         MainWindow();
  10. };
  11.  
  12. #endif // MAINWINDOW_HPP
  13.  

Czytaj dalej...

Cze 01 2009

Kurs Qt - wstęp

Kategorie: Kurs Qt Programowanie Qt Techblog Matthew @ 19:54:14

Przed-wstęp:

Już od dawna miałem zamiar zacząć pisać taki tutorial (obok kursu C++, ale ten chyba zacznę jak wyjdzie C++0x). Głównym powodem jest brak takich materiałów w polskiej sieci. Moux nie napisał nic nowego od 4 lat (i nie sądzę żeby miał ochotę to reaktywować). Z kolei Biblioteka Riklaunima traktuje głównie o wykorzystaniu Qt w Pythonie, czyli PyQt4. Drugim powodem jest fakt, że nie ma lepszego sposobu na podniesienie swojej wiedzy jak uczenie innych. Poza tym ten blog, z założenia, ma być blogiem technicznym (poza moimi własnymi pierdołami, które są zabawne lub ważne dla mnie samego) skupionym wokół programowania w C++, Qt czy pokazujące różne zagadnienia z okolic KDE, Linuksa jako takiego, czy mojego własnego fooaudio (uprzedzając pytania: fooaudio się rozwija, powoli (ze względu na moje ostatnie problemy osobiste oraz nadchodzącą sesję), jednak idzie do przodu. I jak na ironię im wolniej idzie tym lepszy kod powstaje. Jednak już niedługo projekt powinien nabrać sensownego tempa i gdzieś w okolicach połowy lipca o nim napiszę).
Na początku kurs będzie obejmował kilka prostych rzeczy (prezentacja kontrolek, ustawianie ich, tworzenie własnych, sygnały i sloty), później zajmę się bardziej zaawansowanymi rzeczami, niekoniecznie związanymi z GUI (aplikacje sieciowe, wielowątkowość, multimedia). Jest także opcja, że jeżeli interesowałby was jakiś konkretny temat, to postaram się go możliwie szybko opisać. Dajcie mi wtedy znać albo w komentarzach, albo przed jid/e-mail (znajdziecie je w dziale "O mnie"). Miłej lektury, mam nadzieję że komuś to się przyda. ;)

Czytaj dalej...