Статические переменные в C необходимо инициализировать со значением, известным во время компиляции. Это требование было удалено на C ++, и вы можете инициализировать их выражениями, оцененными во время выполнения.
Эти два языка различаются и многие, многие другие. Вы можете легко написать код C, который будет приемлемым для компилятора C ++, но обратное неверно.
Ну, есть QByteArray и QImage. QImage имеет метод loadFromData , который может использоваться с закодированными base64 данными.
QByteArray imageData = QByteArray::fromBase64("YourBase64EncodedString");
QImage img;
if (img.loadFromData(imageData)) {
// show this label somewhere.
QLabel label;
label->setPixmap(QPixmap::fromImage(img));
}
Здесь вы можете найти более подробную информацию о том, как читать и записывать изображения
Более полный пример можно найти в моем github репозиторий . Несколько лет назад я написал это приложение для восстановления изображений с кодировкой base64 с случайно удаленных электронных писем.
Вы можете сделать это с помощью QByteArray и QImage :: loadFromData (const QByteArray & amp; data)
QByteArray barray = QByteArray::fromBase64("base64 string");
QImage image;
image.loadFromData(barray);