Qt - Рисование Rect / Frame из большего изображения Pixmap - PullRequest
0 голосов
/ 28 января 2010

Я бился головой об этой, казалось бы, легкой задаче, и я действительно мог бы помочь. У меня есть широкое изображение загружено в графический интерфейс (с помощью дизайнера ..), и я хочу, чтобы иметь возможность нарисовать только часть этого, прямоугольник. Мне нужно иметь возможность изменить эту позицию прямоугольника на большом изображении, чтобы по желанию нарисовать другую часть большего изображения. В этом процессе прямоугольник должен сохранять свой размер.

Используя объект Ui :: MainWindow, я могу получить доступ к метке, содержащей изображение, и решение, включающее использование этой опции, является предпочтительным (чтобы не отставать от остального кода, который я уже написал)

Любое решение будет высоко ценится:)

Спасибо

Итамар

Ответы [ 2 ]

1 голос
/ 28 января 2010

Я бы определенно (для простоты использования) просто поместил пустой label в качестве заполнителя в Designer.

Затем реализуйте paintEvent для этой метки (делегируйте ее своему собственному методу). Вам также нужно будет изучить QPainter, QPixMap и т. Д. Должно быть выполнимо на основе этих советов и документации.

Если вы хотите больше, я предлагаю вам предоставить небольшой фрагмент кода для работы.

0 голосов
/ 03 февраля 2010

Если вы хотите сделать это более или менее чисто с помощью дизайнера, вы можете поставить QScrollArea там, где вы хотите, чтобы часть изображения появилась. Если вы устанавливаете политику полосы прокрутки так, чтобы она никогда не отображалась, вы можете вручную изменить то, что отображается в виджете области прокрутки. Однако это, вероятно, будет более сложным, чем создание производного виджета и переопределение функции рисования.

...