窗体布局如下:
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()我越看看糊涂了
按照现有的思路,上面的事件怎么用,属于哪个类啊?
请详解!!!!!
谢谢谢谢谢谢