头文件添加:
#include <QTextCodec>
#include <QFileDialog> //文件对话框
QT中图像显示和matlab相同,显示在Lable控件中,没有专门的picturebox控件。
拖拽一个Label控件到窗口中,查看对应属性中的ObjectName(后续需要使用,我的是Label_4),查了一些资料大多是直接读取给定的路径下的图片,本人用其它语言做处理习惯使用Dialog读取文件路径打开图片,因此首先找到了读取文件路径的方法,百度本地文档读取有很多这类参考资料,我的路径获取代码为:
this->setWindowTitle("图片读取");
QString filename = QFileDialog::getOpenFileName(this, tr("Open Image"),".",tr("Image File (*.jpg *.png *.bmp)"));
QTextCodec *code = QTextCodec::codecForName("gb18030");
char* name = code->fromUnicode(filename).data();//filename.toAscii().data();
通过路径找到选定的图片显示于Label_4中:
QImage image(name);
//QPixmap im=QPixmap::fromImage(image);//Qimage转QPixmap
ui->label_4->clear();
ui->label_4->setPixmap(QPixmap::fromImage(image));
ui->label_4->show();
显示的图片只有一部分,所以需要设置Label的属性,让其尺寸是可变的,在显示图片前添加:
ui->label_4->setScaledContents(true);