Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
Помещаем картинку на QLabel с помощью QPixmap и подгоняем под размер окна
Сегодня рассмотрим пример с картинкой в окне. Частный пример, когда картинка помещается на ярлык (QLabel) с использованием объекта QtGui.QPixmap. При этом и картинка и окно (QWidget) подгоняются под ориентировочно указанные размеры, так что картинка занимает всё пространство окна.
Программа представлена ниже, окна с картинкой на рисунке 1.
Сделаем несколько пояснений по представленной программе.
- Напоминаю, что QFileDialog.getOpenFileName() позволяет выбрать нужный файл. В данном случае картинку.
- self.pix - объект класса QPixmap. При создании объекта указывает имя файла-картинки.
- С классом QLabel мы встречались уже неоднократно. Мы помещаем ярлык в левый верхний угол окна (его рабочей области) - move(0, 0).
- Далее используем замечательный метод QPixmap.scaled(). С помощью него мы подгоняем размер картинки под размер окна. Но с сохранением пропорций! Т.е. картинка может занять не всю рабочую область окна. При этом: SmoothTransformation даёт плавность масштабирования; KeepAspectRatio даёт масштабирование до указанного прямоугольника на столько, на сколько это возможно для внутреннего содержимого, сохраняя пропорции.
- Методом QLabel.setPixmap() мы помещаем картинку на ярлык. Размер ярлыка становится равным размеру картинки.
- И последний штрих. Как я уже написал выше картинка может занимать не всю рабочую область окна. И в конце мы подгоняем теперь уже окно под размер картинки: self.setFixedSize(self.pix.width(), self.pix.height()).
Окно с изображением представлено ниже (см. Рисунок 1).
Ну, пока всё!
Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.