使用QGraphicsScene

时间:2016-08-24 02:22:46

标签: qt qgraphicsscene qpixmap qlabel qgraphicspixmapitem

  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();
    }
    

0 个答案:

没有答案