Возникли проблемы при рисовании изображения в Qt с использованием QGraphicsScene

  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 ответов

Другие вопросы по тегам