Use the transformMode
parameter:
pixmap = QtGui.QPixmap(r'pics\cdaudio.png').scaled(100, 100, transformMode=QtCore.Qt.SmoothTransformation)
Domanda
I have the following widget:
pixmap = QtGui.QPixmap(r'pics\cdaudio.png').scaled(100, 100)
The image is scaled down, from 256x256. It looks pretty choppy:
How can I scale it smoothly from within Qt?
Soluzione
Use the transformMode
parameter:
pixmap = QtGui.QPixmap(r'pics\cdaudio.png').scaled(100, 100, transformMode=QtCore.Qt.SmoothTransformation)
Altri suggerimenti
According to @iTayb, here's what I came up with:
// Scale the source to the requested size with
// the KeepAspectRatio as aspectMode & SmoothTransformation as mode
*source = source->scaled(width, height, Qt::KeepAspectRatio, Qt::SmoothTransformation);
target->setPixmap(*source);
Why not using the SVG format (and the Qt SVG module for this) if possible ?