QPixMapImageをQGraphicsSceneに追加できますが、2つの問題があります。qgraphicsviewの周りにQPixMapImageを移動するには
最初に、QGixicsSceneでヘッダに宣言されたQPixmapItemへのポインタを作成できません。
エラー:「QGraphicsPixmapItem :: QGraphicsPixmapItem(MainWindow * const)」呼び出しで一致する関数がありません...同じ方法でメインでQGraphicsSceneを作成すると、
2番目の問題:スライダを移動したときに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
"スライダ"とはQSliderまたはその他の意味ですか? –