Zestawienie wzorców projektowych.
Category - Qt/C++
Omówienie dziedziczenia, polimorfizmu, rzutowania dynamic_cast, override, final, wirtualnych destruktorów w C++, wycieków pamięci podczas dziedziczenia.
Geneza Nazwa wywodzi się od „Rachunku Lambda” stworzonego przez Alonzo Churcha w 1936r. w tym również greckiego λ oznaczającego wszystko co można wywołać przez funkcje. Co ciekawe Alonzo Church nigdy przekonująco nie wyjaśnił dlaczego obrał właśnie tą literę greckiego alfabetu, objaśniając to „eeny, meeny...
If you want to change dpi for example for 96 dpi per inch you should use this method: const double dpi = 96 / 0.0254; img.setDotsPerMeterX(dpi); img.setDotsPerMeterY(dpi);
Aby wykonać zrzut ekranu (screenshot), należy nacisnąć przycisk POWER i przycisk wyciszania dźwięku jednocześnie. Należy zaznaczyć, że w telefonach Samsung i HTC screenshot vmoże być wykonany przez naciśnięcie przycisków Home i POWER. W pozostałych przypadkach, jeżeli nie możesz zrobić zrzutu ekranu na Androidzie, sprawdź...
Below sample of code to find word containing the same letters + one that is not the same but create new word: tor -> sort -> sport The code can get dictionary and word that should be found: #include <iostream> #include <qapplication> #include <qstringlist> #include <qfile> #include...
Często się zdarza że programiści napotykają problem we współczesnych programu posiadające interfejs użytkownika (GUI), muszą reagować na zmiany danych w kilku różnych miejscach jednocześnie. Do sytuacji takiej może dojść wtedy gdy pracujemy na tych samych danych, które możemy edytować w kilku miejscach jednocześnie np. wykresy...
Określenie najbardziej tendencyjnych pytań od rekruterów na rozmowach o pracę na stanowisko C++ dewelopera.
Jak zainnicjalizować mapę w qt.
Zastosowanie Adapter inaczej nazywany Nakładką (ang. wrapper) to strukturalny wzorzec projektowy, którego zadaniem jest stworzenie spójnego interfejsu dla dwóch niekompatybilnych klas. Adapter przekształca interfejs jednej z klas na interfejs drugiej. Wskazówki praktyczne Aby stworzyć wspólny interfejs warto zaimplementować klasę z...
Wzorzec projektowy "Fabryka abstrakcyjna" na przykładach C++/Qt.
Zastosowanie Kreacyjny wzorzec projektowy, charakteryzujący się jedną instancją danego obiektu oraz globalnym dostępem do funkcji getInstance(), dzięki czemu możemy uzyskać do niego dostęp praktycznie z każdego miejsca. Inną cechą charakterystyczną jest Lazy loading, czyli alokacja pamięci dla singletona występuje dopiero przy jego...
Omówienie wzorca kreacyjnego Budowniczy na przykładach C++/Qt. Zdefiniowanie wad, zalet zastosowania.
You can use random function from stdlib and fix time to maximize pseudo random operation in a short period of short time. const int MainWindow::getNumber() const { qsrand( (unsigned)time(NULL) ^random()); return qrand() % max; } Using qsrand(QTime::currentTime().msec()) it can also be done...