qt弹出对话框选择图片并显示

    QString path = QFileDialog::getOpenFileName(this, tr("选择视频"), ".", tr("Image Files(*.jpg *.png)"));
    QImage* img=new QImage;
    QImage* scaledimg=new QImage;//分别保存原图和缩放之后的图片
            if(! ( img->load(path) ) ) //加载图像
            {
                QMessageBox::information(this,
                                         tr("打开图像失败"),
                                         tr("打开图像失败!"));
                delete img;
                return;
            }
            int Owidth=img->width(),Oheight=img->height();
            int Fwidth,Fheight;       //缩放后的图片大小
            ui->label->setGeometry(100,100,400,300);
            int Mul;            //记录图片与label大小的比例,用于缩放图片
            if(Owidth/400>=Oheight/300)
                Mul=Owidth/400;
            else
                Mul=Oheight/300;
                       Fwidth=Owidth/Mul;
                       Fheight=Oheight/Mul;
                       *scaledimg=img->scaled(Fwidth,Fheight,Qt::KeepAspectRatio);
                       //ui->label_text->setText(QString("width: ")+StrWidth.setNum(Fwidth)
                       //                        +QString("\nheight: ")+StrHeigth.setNum(Fheight));
                       ui->label->setPixmap(QPixmap::fromImage(*scaledimg));
posted @ 2017-09-26 21:00  云胡同学  阅读(2215)  评论(0编辑  收藏  举报