簡體   English   中英

使用QGraphics場景顯示圖像

[英]Displaying an image with QGraphics Scene

在QGraphicsScene中顯示加載的圖像時遇到問題。

CTextBox::CTextBox(QWidget* parent /* = NULL */)
{   
QPixmap image;

image.load("basketball.png");

grid = new QGridLayout();
grid->setSpacing(1);    
textBrowser = new QTextEdit(this);
treeView = new QTreeView;

treeLabel = new QLabel;
treeLabel->setText("Tree View:");

debugLabel = new  QLabel;
debugLabel->setText("Debug:");  

standardModel = new QStandardItemModel;
rootNode = standardModel->invisibleRootItem();
treeView->setModel(standardModel);



QGraphicsPixmapItem pixmapitem(image);




//scene.addText("Graphics");
scene.addItem(&pixmapitem);

//rect = scene.addRect(QRectF(0,0, 100, 100));

//QGraphicsItem *item = scene.itemAt(50, 50);
widget = new QWidget();
view = new QGraphicsView;
view->setScene(&scene);
view->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));




//proxy = scene.addWidget(widget);
//label = new QLabel();

grid->addWidget(textBrowser, 1, 0);
grid->addWidget(debugLabel, 0, 0);
grid->addWidget(treeView, 1, 1);
grid->addWidget(treeLabel, 0, 1);
//grid->addWidget(&image, 2,0);
//grid->addWidget(view, 2, 0);
//grid->addWidget(widget, 2, 0);
//grid->addWidget(proxy, 2,0);

view->show();

//widget->setLayout(view);

//widget->show();
setLayout(grid);


//label->addItem()
}

基本上當我嘗試在QGraphicsScene中加載圖像時,它似乎可以擴展到圖像的大小但顯示白色屏幕。 我可以將文本添加到圖形場景中,並且可以正確顯示。 現在,如果我嘗試將圖像添加到不同小部件上的標簽中,則顯示正常。 有什么想法嗎?

干杯。

您沒有看到它,因為您傳遞了對構造函數的本地對象的引用。 構造函數結束后,pixmap項將立即被銷毀。 請改用動態分配。

QGraphicsPixmapItem* pixmapitem = new QGraphicsPixmapItem(image);
scene.addItem(pixmapitem);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM