Question

QPixmap pic("../image.jpg");

setAutoFillBackground(true);
QPalette palette;
QPixmap scaled=pic.scaled ( 800, 480, Qt::IgnoreAspectRatio, Qt::FastTransformation );

palette.setBrush(QPalette::Window, QBrush(scaled));

//this->setPalette(palette);
QWidget *w= new QWidget(this);
w->setGeometry(0,0,800,480);
w->show();
w->setPalette(palette); 

Mais le widget ne montre aucune image.

Était-ce utile?

La solution

Êtes-vous juste essayer de montrer l'image à l'échelle dans un widget? Je ne pense pas que l'image dans couchait la brosse, puis mettre la brosse dans la palette est la bonne approche.

Vous pouvez simplement utiliser un QLabel pour afficher une image dans un widget. Comme ceci:

QPixmap pic("../image.png");
QPixmap scaled=pic.scaled ( 800, 480, Qt::IgnoreAspectRatio, Qt::FastTransformation );

QLabel *label = new QLabel(this);
label->setPixmap(scaled);

Autres conseils

Vous montre le widget avant de la palette. Essayez de régler la palette première.

Si cela ne veut pas de l'aide, essayez de spécifier le chemin complet du fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top