LINUX.ORG.RU

Подгонка QCanvas по ширине QCanvasView


0

0

Как сделать так, чтобы экземпляр QCanvas автоматически масштабировался по размерам виджета класса QCanvasView при изменении размеров окна?

Мой /dev/mind мне подсказывает, что нужно переопределить viewportResizeEvent, заюзав класс QWMatrix. Вопрос в том, как именно это сделать. В QWMatrix я пока что не вьехал:)

З. Ы. Прошу не называть ламером, ибо острую потребность в изучении работы с QCanvas я ощутил только сегодня утром, так что многие вещи ещё не догоняю:).

★★

Если не знаете, как это сделать - хотя бы подскажите прогу, где QCanvas автоматически масштабируется по базовому виджету.

V_L_A_D ★★
() автор топика

Хочу сделать аналог TomReader на Qt под Linux

V_L_A_D ★★
() автор топика


QWMatrix тут не при чем.
По памяти, canvas.size = canvasview.size - 4;
4 - это две толщины canvasview.borders.

ANDI ★★
()
Ответ на: комментарий от ANDI

>canvas.size = canvasview.size - 4

Это на каком языке? :) size() - это функция-член, и ей нельзя передать значение.

Но идею я понял. Вся проблема в том, что в данном случае (canvas.setWidth(canvasview.Width()-4) etc.) canvas просто изменяет свои размеры, а его содержимое обрезается по краям. А нужно, чтоб растягивалось и сжималось, подстраиваясь под размеры canvasview.

Вот что написано в доке по Кутэ:

Every view can use an arbitrary transformation matrix on the canvas which makes it easy to implement features such as zooming.

Как это реализовать на практике? :)

V_L_A_D ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.