Общей проблемой является отображение QImage в виджетах. Хотя это можно сделать с помощью QLabel.setPixmap
, полученный QLabel будет иметь фиксированный размер, равный размеру pixmap. Можно использовать setScaledContents
, чтобы сделать QLabel масштабированием pixmap и разрешить изменение размера. Тем не менее, это будет игнорировать соотношение сторон изображения и масштабировать pixmap, чтобы заполнить всю метку.Редактируемый виджет PyQt, отображающий изображение с фиксированным соотношением сторон
Некоторые другие вопросы по StackOverflow просят решения этой проблемы, а типичное решение дано, чтобы повторно масштабировать растровое изображение, используя QPixmap.scaled()
в зависимости от размера виджета:
- QPixmap maintain aspect ratio python
- How do I make an image resize to scale in Qt?
- Qt: resizing a QLabel, containing a QPixmap, while keeping it's aspect ratio
есть другой, более "родной" способ достижения это?