![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
SABROG |
![]() ![]()
Сообщение
#1
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Смысл простой. Есть картинка (QPixmap) размером больше, чем окошко (QWidget). Я пытаюсь сделать таскалку (dragging) для неё.
В процессе реализации стало нужным ограничить область таскания размерами картинки. Т.е. если я пытаюсь тащить мышку за область перед картинкой или после, то я вижу серый фон и углы картинки, а стало быть надо ограничить этот скроллинг. Сделал так:
В итоге это выглядит так: Раскрывающийся текст ![]() А до этого было такое: Раскрывающийся текст ![]() Вопрос в том как это вообще обычно делается. Как-то все это выглядит некрасиво, overhead'но. |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
SABROG |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Вопрос в том как это вообще обычно делается. у меня почти такая же задачка, я решил пример svgviewer переделать. Только эту задачку я на потом оставил. Я сейчас над увеличением выделенной области думаю.Ну с увеличением у меня проблем небыло, т.к. если в тот же drawPixmap передавать разную высоту и ширину target и source, то картинка автоматически увеличивается или уменьшаяется. Цитата Note: The pixmap is scaled to fit the rectangle, if both the pixmap and rectangle size disagree. Правда вчера эксперименты с setVewport привели к крашу моего приложения в методе scale внутри библиотеки. Надо быть осторожным в передаваемых размерах rect'ов. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 15.6.2025, 19:32 |