|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
|||||||||||
Наследование функции движения14.02.2022, 20:38. Показов 3710. Ответов 36
Метки нет (Все метки)
Здравствуйте, есть класс, который рисует машину:
0
|
|||||||||||
| 14.02.2022, 20:38 | |
|
Ответы с готовыми решениями:
36
Наследование функции Наследование и функции |
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
|
| 16.02.2022, 22:13 [ТС] | |
|
sdf45, спасибо
буду пытаться разобраться в этом))Добавлено через 19 минут а как можно сделать вращение против часовой стрелки?
0
|
|
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 16.02.2022, 22:25 | |
|
volver, в последнем примере, который я выложил, по таймеру меняется направление вращения.
painter.rotate() просто задать отрицательный угол. (только имейте ввиду, rotate и translate изменяют не саму геометрию, которую рисуем, а систему координат, в которой рисуем)
0
|
|
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
|
| 16.02.2022, 22:29 [ТС] | |
|
sdf45, а как понять, изменяет систему координат?
0
|
|
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
||
| 16.02.2022, 22:39 | ||
|
И вдруг внезапно настал интерстеллар, и лист бумаги повернулся на 30 градусов, и повернулась вся Ваша комната и Вы вместе с ней, на 30 градусов. А кульман остался в том же положении как и был. Для Вас листок бумаги не поворачивался, так как вы повернулись вместе с ним. Здесь кульман-это виджет (область рисования QWidget), а лист бумаги-это система координат
0
|
||
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
|
| 16.02.2022, 22:49 [ТС] | |
|
sdf45, всё, понял теперь)
Добавлено через 8 минут sdf45, а мы же можем вращать определенный объект (например как в моём примере - дверь, состоящую из отрезков)
0
|
|
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 16.02.2022, 23:01 | |
|
volver, можно нарисовать повернутый обьект, например
painter.translate(point); перенести начало координат в точку point painter.rotate(angle); //повернуть систему координат на angle painter.drawRect(QRect(0,0,10,10)); нарисует повернутый квадрат, причем рисование его начнется от точки point но как я уже говорил, после отрисовки Вы с этим квадратом, если он задан в абсолютных координатах, сделать ничего не сможете. поэтому надо параметризировать point и angle, тоесть где-то задаете (анимируете по таймеру или управлением с мышки или клавиатуры) угол поворота двери и точку, вокруг которой она повернется, и делаете update(),
0
|
|
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
|
| 16.02.2022, 23:07 [ТС] | |
|
sdf45, а как это осуществить? Что-то не совсем понимаю...
0
|
|
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 16.02.2022, 23:18 | |
|
volver, в последнем примере посмотрите, там крутится прямоугольник по таймеру.
Если тот код сложный пока для Вас, напишите в paintEvent() painter.drawRect(0,0,100,100); painter.translate(point); painter.rotate(angle); painter.drawRect(QRect(0,0,50,50)); painter.translate(0,0); а где-то в конструкторе попробуйте менять point и/или angle, и вызывать update();
0
|
|
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
|
| 17.02.2022, 21:02 [ТС] | |
|
sdf45, что-то не получается это сделать в итоге...
0
|
|
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 17.02.2022, 21:04 | |
|
volver, покажите код
0
|
|
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
||||||
| 17.02.2022, 22:13 [ТС] | ||||||
|
sdf45, я пробовал разными способами. Самый последний остался такой:
0
|
||||||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
||
| 17.02.2022, 22:22 | ||
|
попробуйте на паре прямоугольников потренироваться
0
|
||
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
|
| 18.02.2022, 00:47 [ТС] | |
|
sdf45, а как мы можем изменять point?
изначально он равен (550, 260).
0
|
|
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|||||||
| 18.02.2022, 01:05 | |||||||
0
|
|||||||
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
||||||
| 18.02.2022, 01:08 [ТС] | ||||||
|
sdf45, тобишь в конструкторе должно быть так?
0
|
||||||
|
Покинул чат.
1133 / 728 / 195
Регистрация: 30.03.2021
Сообщений: 2,379
|
|
| 18.02.2022, 01:25 | |
|
volver, я просто пару способов задания значений показал
Можете указать значения и посмотреть что произойдет, потом поменять значения и еще посмотреть Можете по таймеру сделать изменение, можете циклом, можете как угодно. Не забудте после изменения вызвать update() Добавлено через 3 минуты вообще Вы бы посмотрели документацию по QPainter, там расписано очень подробно Добавлено через 43 секунды https://doc.qt.io/qt-5/qpainter.html Добавлено через 5 минут QPoint point (550, 260); // инициализация при создании изменение значения: point=QPoint (100, 100); //первый вариант point.setX(50); //второй вариант point.setY(18);
0
|
|
|
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418
|
||||||
| 13.03.2022, 13:41 [ТС] | ||||||
|
sdf45, здравствуйте, можете помочь пожалуйста с вращением объекта. Никак не получается сделать плавное вращение через QTimer:
0
|
||||||
| 13.03.2022, 13:41 | |
|
Наследование и виртуальные функции Наследование. Виртуальные функции Наследование и виртуальные функции Наследование и внешние функции Наследование и виртуальные функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|