我使用开发人员定义的来自“dialog / mainwindow”类的名为wavesScene的QGraphicsScene指针,使用QGraphicsScene :: items返回QGraphicsItem *的QList。我的语法似乎有些错误,它说从不使用/声明列表“graphicsItemList”。
这是我的代码,关于如何正确实施此方法的任何想法
mainwindow / segyView.h中的相关代码
QGraphicsScene *wavesScene;
构造函数代码*我认为,可能会被称为不同的东西
SEGYView::SEGYView(QWidget *parent)
:QMainWindow(parent),
ui(new Ui::SEGYView)
{
ui->setupUi(this);
wavesScene = new QGraphicsScene(this);
ui->PixmapView->setScene(wavesScene);
}
slider_value_changed()插槽内的代码
QList<QGraphicsItem*> graphicsItemList(wavesScene->items());
QGraphicsPixmapItem pixmapItem(graphicsItemList.at(0));
QPixmap wavesPixmap = pixmapItem.pixmap();
QPixmap wavesPixmapScaled = wavesPixmap.scaled((newSliderValue*INITIAL_WAVES_PIXMAP_X_SIZE), 1250);
pixmapItem.setPixmap((wavesPixmapScaled));
wavesScene->addItem(&pixmapItem);
actionOpen中的相关代码on triggered()slot
wavesScene->addItem(pixmapGraphicsItem);
ui->PixmapView->setScene(wavesScene);
错误是在此范围内未声明“graphicsItemList” QGraphicsPixmapItem * pixmapItem = graphicsItemList.at(0);
^