我想面对一个奇怪的问题,而我想在QGraphicsScene
的{{1}}内显示QGraphicsView
的图片。
对于某些图像文件,效果很好,
但对其他人来说似乎不对,
我想也许它与图像的格式有关?如果是这样,我该怎么办?
相关部分代码如下,感谢您的帮助:D
PyQt
答案 0 :(得分:0)
我有完全相同的问题,但它是C++
项目,所以我认为我的解决方案也适合你。考虑下一个代码:
QString sss = "path";
cv::Mat img = cv::imread(sss.toStdString());
cv::cvtColor(img,img,CV_BGR2RGB);//in your code cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
QImage image1((uchar*)img.data,img.cols,img.rows,QImage::Format_RGB888);
//in your code QtGui.QImage(image.data, width, height, QtGui.QImage.Format_RGB888)
//same problem
QPixmap px1(QPixmap::fromImage(image1));
ui->label_2->setPixmap(px1);
解决方案:
//...
QImage image1((uchar*)img.data,img.cols,img.rows,img.step,QImage::Format_RGB888);
//...
如您所见,我在img.step
文档中添加了一个参数:( int bytesPerLine )
Qt
。因此,请尝试在python
应用中执行相同操作。