Qt – Pierwszy projekt – Fake blue screen

Okej, wstęp już za nami, wypadałoby zrobić jakiś mały programik. W tym poradniku pokażę, jak napisać program, który bardzo przypomina blue screena. Zastosowanie? Można wkręcać znajomych/nauczycieli, u mnie w szkole 4/4 informatyków się nabrało, w tym poradniku wykorzystamy część wiedzy z poprzedniego poradnika, wykorzystamy Qt Quick Controls 2, Qt 5.7.

Dobra, jak się za to zabrać? Zróbmy niebieski ekran, w tym celu do ApplicationWindow podpinamy właściwość, jaką jest kolor i ustawiamy na „blue”, teraz trzeba zrobić, aby nasza aplikacja nie wyglądała jak aplikacja, w tym celu dodajemy właściwość flags i wartość Qt.FramelessWindowHint, kod powinien wyglądać tak: Czytaj dalej →

Synchronizacja wątków w C# i C++ (Spinlock)

Wielowątkowość, synchronizacja… Ale po co to komu?

Przytoczę pewne bardzo obrazowe porównanie. Wyobraź sobie, że jesteś w restauracji. Podnosisz menu, wybierasz potrawę i czekasz na kelnera. Widzisz, że tymczasowo obsługuje innego klienta. Mija kilka, kilkanaście minut, a kelner wciąż stoi przy stoliku innego klienta, obsługuje tylko jego. Dopiero, gdy klient płaci i wychodzi z restauracji, kelner podchodzi do Ciebie i zaczyna cię obsługiwać. W tym czasie przychodzi inny klient, ale kelner jest zajęty tylko tobą. Mniej więcej tak działa aplikacja jednowątkowa (nasz kelner). W oczywisty sposób jest to nieefektywne.

Wtedy niczym superbohater, przybywa wielowątkowość.
Czytaj dalej →

Qt – Wprowadzenie

Qt – zestaw przenośnych bibliotek i narzędzi programistycznych dedykowanych dla języków C++, QML i Java. Ich podstawowym składnikiem są klasy służące do budowy graficznego interfejsu programów komputerowych, począwszy od wersji 4.0 Qt zawiera też narzędzia do tworzenia programów konsolowych i serwerów. – Wikipedia

Może zacznę od motywacji, pisząc w C++ największym problemem jest multipletowość, niby jest, ale w praktyce trzeba się natrudzić żeby przepisać średnio zaawansowaną aplikacje z np. windowsa na linuksa, z pomocą przychodzi Qt, gdzie mamy gotową obsługę sieci, baz danych, zapytań, obsługi wielu wątków, obsługę jsona, xmla i wielu innych bardzo przydatnych pierdół. Przekonany? Czytaj dalej →