Top.Mail.Ru

Qt.FramelessWindowHint. Перемещение и изменение размеров окна.

Тут на форуме давеча возникла тема, которую также можно отнести к топовым, если оценивать по частоте возникновения данного вопроса. Поэтому я решил оформить ответ более развернуто, чем подразумевается в рамках форума. И пресловутый вопрос заключается в том, как на QML осуществить изменение размеров и перемещение окна приложения, которое является frameless. То есть не имеет стандартной ...

Продолжить чтение

QML. Button. Добавление иконки к кнопке.

Вдогонку к предыдущей статье, которая была посвящена работе с Button в QML, рассмотрим механизм добавления иконок для этих самых кнопок. И сперва подготовим необходимый файл, я возьму один из вариантов из проекта mtPaint3D. Так вот выглядят кнопки с иконками, утащим отмеченную для сегодняшних тестов: И само изображение: размер - 200*200 формат - .png фон прозрачный ...

Продолжить чтение

Qt и QML. Button. События, кастомизация, стили, примеры.

Рад снова всех приветствовать! Как известно, спрос рождает предложение, поэтому я решил опубликовать цикл статей, посвященных различным аспектам QML 👍 Пройдемся более менее масштабно, начиная с основных интерактивных элементов для взаимодействия с пользователем, таких как Button, CheckBox, ComboBox и т. д.... И не оставим в стороне также более узконаправленные нюансы. При этом среди вопросов по ...

Продолжить чтение

Qt и QML. mtPaint3D. Создаем утилиту для 3D-рисования. День 9.

Завершающий день марафона по разработке графически-рисовательного приложения с Qt! Понадобилось ровно столько дней, сколько и было отмерено изначально ) При этом форсировать на промежуточных этапах не пришлось 👌 Вкратце расскажу, что я добавил для финальной на данный момент версии... Во-первых, конечно, пресловутый дизайн, которым мы сознательно не озадачивались в процессе разработки логики и механики создания ...

Продолжить чтение

Qt и QML. mtPaint3D. Создаем утилиту для 3D-рисования. День 8.

Предпоследний, восьмой день, из отведенных девяти на разработку аналога Paint3D. В целом, времени с запасом, можно не спешить 😉 Среди добавленных вчера фигур не хватает одной из наиболее интересных, а именно кривой Безье. Вот восьмой день и надо ознаменовать решением этого вопроса! Мне в данной утилите требуется на данный момент кривая 2-го порядка, то есть ...

Продолжить чтение

Qt и QML. mtPaint3D. Создаем утилиту для 3D-рисования. День 7.

Все доброго времени суток! Так вот планомерно, систематизированно и не сильно перенапрягаясь мы пришли к тому, что для 3D-объекта вида кубоид на данный момент реализована полная поддержка необходимого функционала. Поэтому сегодня по аналогичной схеме добавим остальные объекты. Чуть более подробно рассмотрим на каком-то одном из них, пусть на сфере, например, без разницы. Собственно, уже четко ...

Продолжить чтение

Qt и QML. mtPaint3D. Создаем утилиту для 3D-рисования. День 6.

Рад снова всех приветствовать 🤝 Сегодняшний план заключается в добавлении нескольких небольших, но от этого не менее важных деталей. Здесь я решил поместить небольшую врезку-спойлер с финальным результатом. Пока здесь будет пусто (update: результат добавлен), но по окончанию проекта я размещу результаты работы. И в некоторых из следующих статей "марафона" продублирую аналогичным образом. Итак: И ...

Продолжить чтение

Qt и QML. mtPaint3D. Создаем утилиту для 3D-рисования. День 5.

Пятый, полуюбилейный день марафона 😉 Что имеется на данный момент: Не вижу смысла отходить от первоначального плана, который заключался в том, чтобы сначала реализовать полный функционал приложения для конкретного 3D-объекта, а затем без лишних напрягов аналогичным образом расширить уже работающую механику на новые фигуры. Поэтому продолжаем работать с добавляемыми на сцену кубоидами. Панель перемещений/вращений уже ...

Продолжить чтение

Qt и QML. mtPaint3D. Создаем утилиту для 3D-рисования. День 4.

Рад снова всех приветствовать! Без лишних слов переходим к продолжению деятельности 🤐 Сегодня тоже план вполне понятен, то есть размышлять над последовательностью ближайших шагов не придется. Во-первых, во вчерашней части было одно упущение, которое стоит сразу устранить. Заключается оно в том, что, как вы помните, у нас каждый PaintObject имеет свой компонент QObjectPicker. Также аналогичные ...

Продолжить чтение

Qt и QML. mtPaint3D. Создаем утилиту для 3D-рисования. День 3.

Продолжаем планомерно продвигаться к достижению необходимого результата. Вчера мы закончили на том, что осуществили отрисовку 3D-объекта в виде кубоида, так что логически верным будет добавить к приложению панель выбора инструментов. Сейчас у нас всегда рисуются кубоиды по событиям мыши, независимо ни от каких внешних факторов. Здесь я решил поместить небольшую врезку-спойлер с финальным результатом. Пока ...

Продолжить чтение