Алтунин Василий

Алтунин Василий

В прошлой статье мы рассмотрели создание модели для QComboBox. Сегодня мы рассмотрим создание Делагата для QComboBox. Что такое Делегаты и для чего они нужны мы рассмотрим в отдельном материале, сегодня же я просто продемонстрирую, как для QComboBox добавить иконки перед каждым пунктом и выровнять надписи по правому краю.

Конечно, вы можете их добавить иконки, не используя Делегат, но это самый простой пример для того, чтобы продемонстрировать сам механизм создания подобного функционала.

Для этого примера я буду использовать код из предыдущей статьи.

Так же вам понадобятся иконки с флагами государств, скачать архив вы можете отсюда – ссылка на Яндекс.Диск - https://yadi.sk/d/_N4v7pySleb07A или взять с Github.

В прошлой статье мы рассмотрели создание модели для QComboBox. Приведенный пример не являлся оптимальным для использования. Поэтому сегодня мы усовершенствуем модель таким образом, чтобы обеспечить возможность добавлять дополнительные поля для хранения данных, не меняя всю модель.

Вывод данных в виде таблицы является, пожалуй, самым удобным и наглядным способом предоставления информации пользователю. Существует два способа наполнения таблиц данными:

  1. С использованием массива — в этом случае все элементы таблицы доступны по их индексам и вы можете легко получить или назначить значение ячейки таблицы, например: table[0][0]
  2. С помощью модели — в этом случае за наполнение таблицы данными отвечает модель — класс, который знает о таблице всё — количество строк и столбцов и значение каждой ячейки. Наполнение и доступ к информации, в данном случае, осуществляется с помощью строго определенных методов класса. Таким образом, внутренняя реализация модели не важна - мы всегда можем получить доступ к данным с помощью стандартизированного интерфейса.

В этой и последующих статьях я, иногда, буду называть виджеты Qt5 - компонентами.

Долгое время мониторинг сети на Zabbix работал у меня на виртуальном сервере Hyper-V. Было решено перенести мониторинг на новый сервер под управлением – XCP-ng (XEN). Попытки миграции самой виртуальной машины были неудачными, каждый раз возникали всё новые ошибки и проблемы, так что было решено просто установить Debian 10 в виртуальную машину под управлением гипервизора XEN и перенести базу данных со старого сервера.

Для установки нового сервера я использовал уже готовый шаблон XEN, который был создан для экспериментов. К сожалению, я забыл, что объем виртуального диска у него всего 10 GB, а так как размер дампа базы данных у меня 2.9 Гб, то восстановление из дампа исчерпало всё доступное место на диске. Единственным выходом стало изменить размер виртуального диска до 100 Гб.

У моего сайта есть рассылка на subscribe.ru - https://subscribe.ru/catalog/comp.hard.altuninvvblog

Рассылка закрыта в связи с неудовлетворительным функционалом сервиса и малой популярностью! 

Долгое время она не выходила, основной причиной была трудность верстки новых выпусков рассылки, так как вручную всё это делать было долго и муторно. Наконец, я пересилил собственную лень и написал простой скрипт, на PHP, который создает список статей и возвращает готовый для вставки HTML код.

Сегодня мы рассмотрим создание простой модели для виджета QComboBox. О том что такое модели и зачем они нужны, вы можете прочитать в этой статье.

Обновлено 07.12.2020. В связи с выходом статьи, посвященной моделям, убрано вступление, оставлена только практическая часть!

В прошлой части – ссылка мы рассмотрели вращение. Сегодня мы рассмотрим новый тип трансформации – масштабирование.

Мы продолжим работать с проектом с прошлой части, его исходники вы можете найти на GitHub.

Сегодня мы рассмотрим функционал QPainter, который является очень важным для эффективного применения данной библиотеки – это сохранение и восстановление состояния.

Это очень важно при создании сложных рисунков, так как позволяет делать код более компактным, понятным и эффективным.

В предыдущей части мы рассмотрели трансформацию примитивов с помощью трансляции. Сегодня мы рассмотрим новый тип трансформации – вращение.

Мы продолжим работать с проектом с прошлой части, его исходники вы можете найти на GitHub.

В прошлой статье мы рассмотрели установку WSL2 под Windows 10, подробности читайте здесь.

На одном из ПК, после установки WSL2, отказался запускаться linux.

Даже если установка прошла успешно, при запуске консоли linux вы можете получить ошибку:

Windows не удается получить доступ к указанному устройству, пути или файлу. Возможно, у вас нет нужных разрешений для доступа к этому объекту.

2020-09-24_12-06-12.png

В этой статье мы рассмотрим способ её исправления.