QPixMapImage를 QGraphicsScene에 추가 할 수 있지만 두 가지 문제가 있습니다.qgraphicsview에서 QPixMapImage를 이동하는 방법
먼저 QGraphicsScene으로 헤더에 선언 된 QPixmapItem에 대한 포인터를 만들 수 없습니다.
"오류 : 'QGraphicsPixmapItem :: QGraphicsPixmapItem (MainWindow * const)'호출에 일치하는 함수가 없습니다 ... 동일한 방법으로 Main에서 QGraphicsScene을 만들면 어떻게됩니까?
두 번째 문제 : QGraphicsPixmapItem을 슬라이더가 움직일 때 주변으로 이동할 수 없습니다 (포인터가 작동 할 때까지 표시되지 않습니다). 그러나 나는 그것을 움직일 수 있습니까, 아니면 그것을 다시 칠해야합니까?
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGui>
#include <QGraphicsView>
#include <QGraphicsPixmapItem>
#include <QPixmap>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
scene = new QGraphicsScene(this);
QPixmap arrow = QPixmap::fromImage(QImage("ARROW.png"));
arrowItem = new QGraphicsPixmapItem(this);
arrowItem->setPixmap(arrow);
ui->graphicsView->setScene(scene);
ui->horizontalSlider->setMaximum(2000);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_horizontalSlider_sliderMoved(int position)
{
arrowItem->setPos(position,position);
scene->addItem(arrowItem);
}
헤더 :
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QGraphicsPixmapItem>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
QGraphicsPixmapItem *arrowItem;
QGraphicsScene *scene;
private slots:
void on_horizontalSlider_sliderMoved(int position);
};
#endif // MAINWINDOW_H
감사 서지에 관하여! – JohnStudio
실제로 마우스 클릭과 반대로 슬라이더를 움직여서 픽스맵을 이동하고 싶습니다 ... 어떻게하는지 알고 있습니까? – JohnStudio
"slider"는 QSlider 또는 다른 것을 의미합니까? –