Qt显示图像之QGraphicsPixmapItem

为防止不断地addItem导致内存增长,建议在初始化时new Item、scene->addItem。在合适的地方scene->removeItem(或scene->clear)或者item->setVisible。

h头文件中

#include <QGraphicsView>

QGraphicsView* view;
QGraphicsScene* scene; QGraphicsPixmapItem
* m_pix = nullptr;

cpp构造函数中

view = new QGraphicsView;
centralLayout->addWidget(view);
view->setBackgroundRole(QPalette::Dark);
    
scene = new QGraphicsScene;
view->setScene(scene);

m_pix = new QGraphicsPixmapItem;
scene->addItem(m_pix);

cpp显示图像的函数中

if (!m_qImg.isNull())
{    
    m_pix->setPixmap(QPixmap::fromImage(m_qImg));
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章