1
我可以將QPixMapImage添加到QGraphicsScene中,但我有兩個問題。如何在qgraphicsview中移動QPixMapImage
首先我不能創建一個指向我的QPixmapItem的指針,這個指針在頭文件中聲明,我可以用QGraphicsScene創建。我得到一個錯誤「錯誤:沒有匹配函數調用'QGraphicsPixmapItem :: QGraphicsPixmapItem(MainWindow * const)」...當我創建我的QGraphicsScene在主要方式相同?
第二個問題:我不能移動QGraphicsPixmapItem的時候移動滑塊(obv我不會直到指針工作)。但我可以移動它嗎?還是必須重新繪製它?
#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 2010-11-22 22:35:15
其實我想通過移動滑塊來移動像素圖,而不是點擊鼠標......你知道該怎麼做嗎? – JohnStudio 2010-11-23 00:23:42
作者:「slider」你的意思是QSlider還是別的? – 2010-11-23 01:32:04