int height(); //返回当前图片的高度
void fill(); //设置填充色
bool
load(QString &filename); //加载一个图片
void MainWindow::displayImage(QTreeWidgetItem *item)
QString fileName=item->data(colItem,Qt::UserRole).toString();//获得文件名
LabFileName->setText(fileName);
curPixmap.load(fileName);
on_actZoomFitH_triggered();
//适应高度显示
void MainWindow::on_actZoomFitH_triggered()
int H=ui->scrollArea->height();
int realH=curPixmap.height();
pixRatio=float(H)/realH;//当前显示比例,必须转换为浮点数
QPixmap pix=curPixmap.scaledToHeight(H-30);//图片缩放到指定高度
ui->LabPicture->setPixmap(pix);
//放大显示
void MainWindow::on_actZoomIn_triggered()
pixRatio=pixRatio*1.2;
int w=pixRatio*curPixmap.width();
int h=pixRatio*curPixmap.height();
QPixmap pix=curPixmap.scaled(w,h);
ui->LabPicture->setPixmap(pix);
//实际大小显示
void MainWindow::on_actZoomRealSize_triggered()
pixRatio=1;
ui->LabPicture->setPixmap(curPixmap);
QPixmap *pix=new QPixmap(width(),height()); //构造函数参数:绘图的指定区域
pix->fill(Qt::white); //填充色
QPainter *painter=new QPainter;
QPen pen(Qt::DotLine); //设置画笔为虚线
for(int i=10;i<width;i=i+10) //通过循环画线
painter->begin(pix); //指定pix为绘画设备
painter->setPen(pen); //指定画笔
painter->drawLine(QPoint(i,0),QPoint(i,height)); //画线
painter->end();
//在paintEvent函数中调用这个QPixmap变量
QPainter painter;
painter.begin(this);
painter.drawPixmap(QPoint(0,0),*pix); //绘画,参数:1:开始起点 2:Pixmap对象
painter.end();