我想一些QImage
通過QGraphicsScene
顯示,我的代碼的很直白:如何使用QGraphicsScene :: addPixmap當它只接受常量QPixmap?
mainwindow.h
QImage *sourceImage;
QGraphicsView *imageView;
QGraphicsScene *imageScene;
mainwindow.cpp
imageScene = new QGraphicsScene;
imageView = new QGraphicsView;
imageView->setScene(imageScene);
sourceImage = new QImage;
sourceImage.load(":/targetimage.png");
imageScene.addPixmap(QPixmap::fromImage(sourceImage));
然後是編譯正確指出我做錯了什麼:QGraphicsScene::addPixmap
只接受const QPixmap
作爲參數,我試圖將QImage
轉換爲const QPixmap
,這是不允許的,因爲QPixmap::fromImage
內只接受const QImage
,就像const
地獄一樣。
這種方法的official documentation沒有多大意義,我不是,我是否願意做,例如,一個圖像瀏覽器,並在運行時我想不同的圖像,確保加載到QImage sourceImage
,我怎麼能使用const QImage
完成這項工作?
這個問題一直在痛苦,謝謝你的任何建議。此外,如果對Qt中的人爲什麼使用const
這些方法的哲學理由有任何看法,您是否可以點亮我?
什麼阻止您使用QPixmaps而不是QImages? – vahancho
我正在使用opencv,這意味着我將const'cv :: Mat'轉換爲'QImage'並返回。根據文檔,「QPixmap」針對顯示進行了優化。我相信有一些方法可以將'QPixmap'轉換爲cv :: Mat,但是'QImage'完全適合問題空間。 – timfeirg