Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
86 / 86 / 13
Регистрация: 03.03.2011
Сообщений: 1,873

Столкновение QGaphicsItem друг с другом

07.09.2012, 22:25. Показов 1638. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
использую данную функцию для определения столкновению между айтемами
C++ (Qt)
1
2
3
4
5
6
7
8
9
bool cMap::Collaps(QGraphicsItem* item){
    QList <QGraphicsItem* > collisions = collidingItems(Qt::IntersectsItemShape);
    foreach (QGraphicsItem* it, collisions) {
        if (it->data(0)!="Ship") continue;
      //  it->setData(1,);
        return true;
    }
    return false;
}
как мне узнать на сколько пикселей залезает айтем с датой Ship на проверяемый айтим?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.09.2012, 22:25
Ответы с готовыми решениями:

QwtPlot несколько графиков друг под другом
Народ подскажите, если кто знает как построить на QwtPlot примерно такой график.

QHBoxLayout расположить виджеты строго друг за другом с левого края
Вот картинка как получается, а расположить нужно с левого края друг за другом может знает кто, как сделать? Данная...

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

6
10 / 10 / 0
Регистрация: 03.02.2012
Сообщений: 99
07.09.2012, 23:26
как идея: сделать обьект из обьектов пикселей , а при столкновении светить их красным и видеть на сколько пикселей залезает айтем
0
86 / 86 / 13
Регистрация: 03.03.2011
Сообщений: 1,873
08.09.2012, 00:06  [ТС]
есть другие идеи?
0
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
08.09.2012, 14:47
Берешь для обоих boundingRegion, через QRegion :: intersected получаешь регион пересечения. По идее, должно получиться.
1
86 / 86 / 13
Регистрация: 03.03.2011
Сообщений: 1,873
08.09.2012, 15:21  [ТС]
а можно пример какойнибудь простенький?
ниразу не сталкивался с данным классом
0
Псевдослучайный
1946 / 1146 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
08.09.2012, 15:55
Я внимательно посмотрел на доку по QGraphicsItem и увидел там эти функции, как конкретно их применить думайте сами. Может быть в примерах кутей чего-нибудь есть.
0
86 / 86 / 13
Регистрация: 03.03.2011
Сообщений: 1,873
09.09.2012, 01:43  [ТС]
C++ (Qt)
1
2
3
4
5
6
7
 QRectF r=boundingRect();
        QRegion r1(QRect(r.x(),r.y(),r.width(),r.height()));
        r=it->boundingRect();
        QRegion r2(QRect(r.x(),r.y(),r.width(),r.height()));
        QRegion r3=r1.intersected(r2);
        QRect e= r3.boundingRect();
        QMessageBox::about(0,"",QString::number(e.width())+"  "+QString::number(e.height()));
на сколько бы я не залазил на объект он всегда говорит что залез полностью
мб надо смотреть другие параметры(не высоту ширину)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2012, 01:43
Помогаю со студенческими работами здесь

Поля следящие друг за другом
здравствуйте, есть ли что подобное - два поля, одно удаляешь-автоматом удаляется другое, то есть как бы связанные одной цепью...спасибо ...

Поместить 4 картинки друг за другом
Здравствуйте, Подскажите пожалуйста как поместить 4 картинки друг за другом. И под каждой картинкой поместить текст Вот мой код...

Связь форм друг с другом
Добрый вечер! У меня есть 2 формы на Form1 создан большой тест, на Form2 картинка на background'е и кнопка, так вот как мне сделать так...

Дивы друг над другом
Здраствуйте. имеются двы дива внутри одного: &lt;div class=&quot;desk&quot;&gt; &lt;div class=&quot;objects&quot;&gt;&lt;/div&gt; &lt;div...

2 одинаковые формы друг по другом
Есть две формы, как сделать так, что-бы они были привязаны друг по другом и перемещались синхронизировано?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru