사용자가 파일을 선택하여 QGraphicsView에 추가 할 수있는 프로그램을 개발 중입니다. 모든 항목은 항목 위치 지정을 제외하고는 잘 작동합니다. 모든 이미지는 동일한 위치에 표시됩니다. 당신이 어떤에 대한 설정 및 항목의 위치를 검색 할 때 영향을 미치는 것 좌표계를 생각하는 데 필요한 QGraphicsSystem를 사용하는 경우 소스 코드는QGraphicsScene의 특정 위치에 이미지 추가
//user action to add an image
void MainWindow::on_actionMessage_triggered()
{
const int width = 150;
const int height = 200;
QString fileName = QFileDialog::getOpenFileName(this,"Open Image File",QDir::currentPath());
QImage image(fileName);
QGraphicsPixmapItem* item = new QGraphicsPixmapItem(QPixmap::fromImage(image));
item->setScale(0.1);
item->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
item->setPos(scene->items.count()*width,scene->items.count()*height);
scene->addItem(item);
}
//initialize Scene
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setBaseSize(800, 600);
scene = new QGraphicsScene(0,0,600,400);
scene->setSceneRect(0,0,600,400);
ui->graphicsView->setScene(scene);
//ui->graphicsView->fitInView(scene.sceneRect());
ui->graphicsView->show();
}
'scene-> items.count()'가 유효하지 않습니다. 그것은'scene-> items(). count()'이어야합니다. 당신의 진짜 코드에 그렇게 있습니까? –
이 코드를 변경했습니다. 그러나 결과는 같습니다. – lonelyloner
"같은"이란 무엇을 의미합니까? 'scene-> items.count()'가 컴파일되지 않습니다! 어떻게 알 수 있니? 나는 당신의 코드를 실행했다, 그것은 나에게 잘 작동한다. 빌드 시스템에 문제가 있다고 생각합니다 (예 : 프로젝트가 실행되기 전에 컴파일되지 않음). –