0
  1. 下面的代码使用 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();
    }
    
  2. 在这段代码中,我尝试与上面相同,但使用 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();
    }
    
4

0 回答 0