Russian Qt Forum
Ноябрь 03, 2024, 00:38
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
2D и 3D графика
>
Qt 4.3.0 - Глюки с координатами объекта на сцене
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Qt 4.3.0 - Глюки с координатами объекта на сцене (Прочитано 3635 раз)
mal
Гость
Qt 4.3.0 - Глюки с координатами объекта на сцене
«
:
Октябрь 17, 2007, 12:28 »
Всем привет!
Такая фигня: создаю сцену кладу на вЪю. Размер сцены задаю меньше размера вЪю
Далее создаю объект QGraphicsEllipseItem и кладу его на сцену. Но я кладу его во въю вне сцены.
Код такой:
el_item = new QGraphicsEllipseItem();
scene->addItem(el_item);
el_item->setRect(40,40,20,20);
...
тут задаю размеры айтема, кисти перья и проч.
...
претположим я его кладу в предопределенную точку на въю. Для этого делаю преобразование от координат въю к координатам сцены:
...
QPointF ptf = view->mapToScene( QPoint(45, 45 ));
el_item->setPos(ptf);
QPointF pt_1 = el_item->pos();
QPointF pt_2 = el_item->scenePos();
...
При этом и pt_1 и pt_2 имеют одинаковые координаты (-173, -100)
Сразу делаю следующее :
QRectF rectF = el_item->sceneBoundingRect();
и вот тут то получаю парадокс - координаты rectF такие:
rectF={x=-133.0(0), y=-60.0(0), w=20.0(0), h=20.0(0)}
т.е. Описывающий прямоугольник айтема в координатах сцены и позиция айтема в координатах сцены имеют РАЗНЫЕ значения!
Ни с айтемом, ни со сценой в этот момент ничего не происходит. Т.е. создал, сунул на сцену, проверил коодинаты, проверил координаты описывающего прямоугольника в координатах сцены.
Как с этим бороться?
Записан
mal
Гость
Re: Qt 4.3.0 - Глюки с координатами объекта на сцене
«
Ответ #1 :
Октябрь 18, 2007, 07:50 »
Как водится - отвечаю сам, ибо уже разобрался. ;-)
При инициализации нужно задать rect(0,0, width,height).
Тогда никакого реального смещения айтема от его заданной позиции на сцене не происходит.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...