Cіпласпластик
Як зрозуміти, що прога написана на Qt? — Ніхто не вміє працювати з High-DPI екранами 🧐 Навіть дефолтний #QML-проєкт, що генерується в Qt Creator з офіційного шаблону, містить некоректний код для Windows. В даному випадку бачимо завеликі іконки в macOS. Що…
Поточний стан справ з підтримкою High-DPI в офіційному інстоллері #Qt на вінді 🤡
(Тим часом ми пишемо десктопну програму на Qt під три системи, й у нас все ок).
(Тим часом ми пишемо десктопну програму на Qt під три системи, й у нас все ок).
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👀1
Cіпласпластик
Отже, історія отримала розвиток. Після чергової відмови від директорки Security & Compliance надати мені APIʼшку я накатав якийсь драматичний текст про те, як на всіх all-hands нарадах компанія парить про інновації та імпрувменти, а щойно справа дійшла до…
А ще питають такі:
— А на чому писати збираєшся?
— На C++ та #QML авжеж!(Хоча зараз думаю, що легше на Python+QML)
— У-у-у-у… Наші люди тільки на сішарпі та ангулярі вміють…
І важко їх звинуватити в чомусь. The #Qt Company просрала можливість зайняти нішу на десктопах (та й на решті систем втрачає позиції). Шкода, бо QML сама по собі дуже прикольна😢 Але недовго їй лишилось, мабуть.
— А на чому писати збираєшся?
— На C++ та #QML авжеж!
І важко їх звинуватити в чомусь. The #Qt Company просрала можливість зайняти нішу на десктопах (та й на решті систем втрачає позиції). Шкода, бо QML сама по собі дуже прикольна
Please open Telegram to view this post
VIEW IN TELEGRAM
👀1
В плюсах доволі нерідко перевантажують метод залежно від того, чи сталим є сам обʼєкт, чи ні. Ну, наприклад, контейнер може оголошувати метод, що повертає ітератор на початок якось так (спрощено):
тобто якщо обʼєкт сталий, то і вказівник повертає такий, через який не можна поміняти те, на що він вказує, а якщо обʼєкт мутабельний, то і вказівник теж.
(Якщо ви не в темі, то отой
Але в
На перший погляд, все ок🙂 Окрім того незначного факту, що константний оператор якогось хєра повертає не 🤯 Іншими словами, воно щоразу те значення, яке ви дістаєте з хеш-мапи по ключу для читання, зайвий раз копіює.
Фішка в тому, що ніхто в C++ ніколи не повертає
Зайве нагадування про те, що всі ці бібліотеки, котрими тисячі або навіть мільйони людей користуються, пишуть не якісь суперпрограмісти, а такі ж посередні, як ми всі з вами😎 😂
T* MyContainer::begin();
const T* MyContainer::begin() const;
тобто якщо обʼєкт сталий, то і вказівник повертає такий, через який не можна поміняти те, на що він вказує, а якщо обʼєкт мутабельний, то і вказівник теж.
(Якщо ви не в темі, то отой
const
, що після дужок, фактично відноситься до неявного this
, який потрапляє в метод).Але в
QHash
(хеш-мапа в #Qt) оператор для доступу до елемента по ключу, як ми сьогодні з друганами виявили в ході обговорення, якогось хєра оголошений отак:T& operator[](const Key& key);
const T operator[](const Key& key) const;
На перший погляд, все ок
const T&
(тобто не референс), а const T
Фішка в тому, що ніхто в C++ ніколи не повертає
const T
, бо це безглуздо. Повертають або просто T
, або const T&
. Тож я вангую, що це баг, про який компілятор вам ніколи нічого не скаже, бо з його погляду все в порядку.Зайве нагадування про те, що всі ці бібліотеки, котрими тисячі або навіть мільйони людей користуються, пишуть не якісь суперпрограмісти, а такі ж посередні, як ми всі з вами
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6