Russian Qt Forum
Ноябрь 24, 2024, 16:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
решено: QGraphicsView при установке текущего элемента перемещает viewport
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: решено: QGraphicsView при установке текущего элемента перемещает viewport (Прочитано 3153 раз)
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
решено: QGraphicsView при установке текущего элемента перемещает viewport
«
:
Февраль 17, 2010, 10:12 »
На QGraphicsScene присутствует некоторая схема. Она изображается в соответствующем QGraphicsView. Когда сцена больше, чем вьюпорт, и мы изменяем текущий элемент так, что он остается виден во вьюпорте, то вместо того, чтобы просто перейти на другой элемент, QGraphicsView перемещает вьюпорт так, чтобы новый элемент оказался на той же позиции в окне, что был предыдущий. То есть, при любых перемещениях окно вьюпорта ползает над схемой, даже если просто переместились в ней на близко расположенный соседний элемент. Это очень здорово для каких-нибудь карт, или просмотра фотографий, но нам совершенно не подходит. Что сделать - не знаем, пробовали разные варианты. Как заставить вьюпорт перемещаться на схемой тогда и только тогда, когда текущая позиция оказалась вне вьюпорта?
такой эффект получаю, когда устанавливаю курсор программно, если курсор устанавливать кликом мыши, то он устанавливается, но вьюпорт не перемещается (как и должно быть)
где собака порылась?
«
Последнее редактирование: Март 01, 2010, 09:37 от Гурман
»
Записан
2^7-1 == 127, задумайтесь...
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: QGraphicsView при установке текущего элемента перемещает viewport
«
Ответ #1 :
Февраль 25, 2010, 09:57 »
Решено. Viewport перемещал не QGraphicsView. Как выяснилось (этот код писал другой человек) - после разбора кнопок Left, Right, Up, Down производился вызов стандартного обработчика событий класса QObject, и для этих кнопок вызывался тоже. Он и перемещал.
Записан
2^7-1 == 127, задумайтесь...
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...