• 4583阅读
  • 0回复

跪求+跪求QGraphicsView中图片拖动的代码 [复制链接]

上一主题 下一主题
离线zsw8766
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-09
窗体布局如下:
QMainwindow上左侧QTreeWidget 显示图片目录,右侧上方两个QPushButton 一个负责图片放大,一个负责图片缩小;右侧QPushButton下有一个QGraphiceView用于显示图片(已存在的png格式文件)
Mainwindow.h中部分代码:
class MainWindow : public QMainWindow {
    Q_OBJECT
public:
   QString fileName;     //图片路径
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
public slots:
    void DisPlayPic(QTreeWidgetItem *,int);   //展示被双击目录树节点所对应的图片 (成功实现)
    void PicZoomOut();   //图片放大   (成功实现)
    void PicZoomIn();      //图片缩小  (实现)
 ... ... ...}
MainWindow.cpp文件中部分代码:
void MainWindow::PicZoomOut()
{
    QRectF recf=ui->graphicsView->sceneRect();
    int width=recf.width()+100;
    int height=recf.height()+100;
    QPixmap  pic;
    pic.load(fileName);    
    QGraphicsScene * scene =new QGraphicsScene(this);
    QSize size(width,height);
    scene->addPixmap(pic.scaled(size));
    ui->graphicsView->setScene(scene);
    ui->graphicsView->setSceneRect(0,0,width,height);
    ui->graphicsView->show();

}

我想写的图片拖动的槽:
void MainWindow::PicMove()
{

 ... ... ...
ui->graphicsView->setSceneRect(hl,vl,width,height);   //hl vl就是鼠标在水平和垂直方向上的偏移量

}
图片拖动中和鼠标相关的代码应该怎么写呢呢?mousePressEvent  mouseMoveEvent  dragEnterEvent  dropEvent()我越看看糊涂了
按照现有的思路,上面的事件怎么用,属于哪个类啊?
请详解!!!!!
谢谢谢谢谢谢
快速回复
限100 字节
 
上一个 下一个