1
我收到一個包含來自網絡的PNG文件的字節數組。我需要將其設置爲像素圖並將其設置爲我的QGlWidget的紋理。當我運行下面的程序時,pixmap處於調試模式,並且不包含任何內容。但是,字節包含從網絡接收的整個字節數組。將QPixmap設置爲紋理
void MainWindow::dataFromServer(QByteArray bytes)
{
// QByteArray bytes;
QBuffer buffer(&bytes);
QPixmap pixmap;
// pixmap = QPixmap::grabWidget(this);
buffer.open(QIODevice::WriteOnly);
pixmap.save(&buffer, "PNG"); // writes pixmap into bytes in PNG format
emit sendPixmapToWidget(pixmap);
}
這裏我設置的像素圖紋理:
void GlWidget::pixmapCatchFromForm(QPixmap pixmap)
{
deleteTexture(texture);
// image->loadFromData(bytes, "PNG");
texture = bindTexture(pixmap);
qDebug() << texture; // returns 1
updateGL();
}