下面的代码使用QLabel加载图像。代码使用:myLabel.setMask(pixmap.mask());它应该工作。当我尝试使用QGraphicsScene加载图像时出现问题。
#include <QApplication>
#include <QLabel>
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel myLabel;
QPixmap pixmap("/path/tomy/image.jpg");
myLabel.setPixmap(pixmap);
myLabel.setMask(pixmap.mask());
myLabel.show();
return app.exec();
}
在此代码中,我尝试使用与上面相同但使用QGraphicsScene。像素图正确加载,之后我不确定为什么程序不能正常工作。是因为没有setMask()操作吗?或者是否缺少使图像可见所需的操作?
#include <QtGlobal>
#if QT_VERSION >= 0x050000
#include <QtWidgets>
#else
#include <QtGui>
#endif
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPixmap pixmap("/path/tomy/image.jpg");
QGraphicsPixmapItem item( pixmap);
QGraphicsScene* scene = new QGraphicsScene;
scene->addItem(&item);
QGraphicsView view(scene);
view.show();
return a.exec();
}