下面的代码使用 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(); }
问问题
355 次