PushButton添加的图像须要是QIcon或者QPixMap形式的,如果是cv::Mat格式或者QImage格式的话,可以使用下面的函数转换:
cv::Mat image;//Mat格式图像
QImage img(image.data, image.cols, image.rows, image.step, QImage::Format_RGB888);//Mat转QImage
QPixmap pixmap=QPixmap::fromImage(img.rgbSwapped());//QImage转pixmap
QIcon icon(pixmap.scaled(QSize(200,140)));//QPixmap转QIcon
或者是打开指定路径下的图像,可以使用下面的函数:
QPixMap pixmap;
pixmap.load("图像所在的路径");//加载图像
QIcon icon(pixmap.scaled(QSize(200,150)));//QPixmap转QIcon
在PushButton按钮上加载自适应按钮大小的图像:
QPushButton *pushbutton=new QPushButton(this);
pushbutton->setGeometry(30,500,200,150);
QIcon icon(pixmap.scaled(pushbutton->size()));
pushbutton->setIcon(icon);
pushbutton->setIconSize(pushbutton->size());
pushbutton->show();