我把宽高设置成(350,350)就可以显示。设置成(360,360),(370,370)(400,400)就无法显示。
```QImage image1(400,400,QImage::Format_ARGB32);
QPainter m_painter2(&image1);
m_painter2.drawPixmap(0,0,400,400,QPixmap(":/new/prefix1/image/map3.jpg"));
后面是通过信号与槽将绘制的图片发送给主窗口。刚学的QT...
我试了下,并没有要求,但一般设置为图像的大小,可以保证不失真,给你一个参考代码吧:
// 绘制出一个image
QImage image(1920, 1080, QImage::Format_ARGB32);
QPixmap pixmap("G:\\Monica2.jpg");
QPainter painter(&image);
painter.drawPixmap(0,0,1920,1080, pixmap);
// 展示绘制出的image
setAutoFillBackground(true);
QPalette pal(palette());
// QPalette:Window是背景色:A general background color.
// QBrush(image.scaled(size(), Qt::IgnoreAspectRatio,Qt::SmoothTransformation)):用于生成适配窗口大小的图片作为QBrush
pal.setBrush(QPalette::Window, QBrush(image.scaled(size(), Qt::IgnoreAspectRatio,
Qt::SmoothTransformation)));
setPalette(pal);
有问题可以讨论~