![]() |
|
|
![]()
|
|
| Vitaliynew |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.9.2008 Репутация: нет Всего: нет |
Я пока новичок в Qt и некоторые вопросы просто вводят в ступор.
Необходимо осуществить ограничение перемещения объекта по оси Х. Берем проект diagramscene из примеров, поставляемый с Qt. В diagramitem.срр находим функцию:
"ремим" все что в ней есть и согласно помощи Асистента вставляем:
однако ограничение перемещения по оси Х не происходит !!!??? |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Vitaliynew, думаю, что основная проблема заключается в том, что ты что-то делаешь только тогда, когда выходит за прямоугольную область. В противном случае изменения newPos просто не имеют смысла. Кстати, в строке 13 идет возврат value (хотя, в оригинале этого нет). Ты уверен, что QGraphicsItem::itemChange() ничего не делает?
|
|||
|
||||
| Vitaliynew |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.9.2008 Репутация: нет Всего: нет |
Честно говоря мне необходимо построить несколько графиков функций (вроде научился делать) и необходимо сделать их перемещаемыми по форме но при этом чтобы они не двигались по оси Х т.е. только вверх-вниз.
на одном из форумов по Qt, кому-то подсказывали что нужно использовать QGraphicsItem::itemChange(), сам еще в это не въехал, пока образования маловато... Был бы признателен за пример в котором одна линия и она двигается только вверх-вниз. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Думаю, как-то так:
|
|||
|
||||
| Vitaliynew |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.9.2008 Репутация: нет Всего: нет |
bsa, спасибо Вам огромное заработало!
неужели в асистенте ошибка? У них
находится внутри
? |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
нет там ошибки. просто там задача была другая - держать объект внутри области. И тот пример с ней с успехом справлялся. |
|||
|
||||
| Vitaliynew |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.9.2008 Репутация: нет Всего: нет |
Еще раз спасибо, уже за пояснения.
Засунул код в проект diagramscene (стандартные примеры) работает наполовину, т.е. при создании, например, прямоугольника на сцене отображается только его правая половина. Наверное это как-то связано с отображением? Как например заставить объект выводится со значением 200 по Х? |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |