определение размеров виджета при использовании QPicture |
Здравствуйте, гость ( Вход | Регистрация )
определение размеров виджета при использовании QPicture |
Litkevich Yuriy |
26.12.2009, 1:00
Сообщение
#1
|
||
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Пытаюсь рисовать на виджете с использованием QPicture.
здесь pic - указатель на QPicture.QPicture я загружаю из файла. На основе QPicture::boundingRect().size(), загруженного рисунка, изменяю размер виджета. Однако рисунок рисовался с отступом от краёв исходного виджета (рисовальщика) по этому получаю такое: Вопрос: Как определить отступ сверху и слева от края виджета, до рисунка. Была мысль спросить у рисовальщика (QPainter'а) минимальную координату, где он побывал, но такого метода я не нашёл. На всякий случай проект прикрепил: PictureViewer.zip ( 3,89 килобайт ) Кол-во скачиваний: 177 Файлы: painter1.log painter2.log тестовые, для загрузки. |
||
|
|||
Kagami |
26.12.2009, 9:27
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Юра, ты меня удивляешь. Есть же функции QWIdget::map*().
Так как у тебя рисовальщик лежит в компоновке и он становится его родительским виджетом, то самый простой способ - вызвать у рисовальщика mapToParent(QPoint(0,0)) - не подходит. Вариантов есть два. Либо хранить в рисовальщике указатель на объект Window и использовать mapTo(window, QPoint(0,0)), либо перебирать родительские виджеты в цикле, пока не дойдем до последнего: а затем mapTo(topParent, QPoint(0,0)).
Сообщение отредактировал Kagami - 26.12.2009, 9:33 |
|
|
Текстовая версия | Сейчас: 28.12.2024, 8:30 |