Carregar dados de imagem de blob no QPixmap

Eu estou escrevendo um programa usando PyQt4 para GUI front-end e este programa acessa um banco de dados back-end (que pode ser o MySQL ou SQLite). Eu preciso armazenar alguns dados de imagem no banco de dados e abaixo está o código Python que eu uso para importar arquivos de imagem (no formato JPEG) para um campo de dados de blob no banco de dados:

def dump_image(imgfile):
    i = open(imgfile, 'rb')
    i.seek(0)
    w = i.read()
    i.close()
    return cPickle.dumps(w,1)

blob = dump_image(imgfile)
hex_str = blob.encode('hex') 
# x"%s"%hex_str will be the string inserted into the SQL command

Esta parte funciona bem. Minha pergunta é sobre como criar um objeto QPixmap a partir dos dados de imagem armazenados no banco de dados no PyQt4. Minha abordagem atual envolve as seguintes etapas:

(1) Hex str no banco de dados - cPickle & StringIO -> PIL Image Object

def load_image(s):
    o = cPickle.loads(s)
    c = StringIO.StringIO()
    c.write(o)
    c.seek(0)
    im = Image.open(c)
    return im

(2) PIL Image Object -> arquivo de imagem temporária

(3) Arquivo de imagem temporária -> QPixmap

Essa abordagem também funciona bem. Mas seria melhor se eu não tivesse que gravar / ler arquivos de imagem temporários, o que poderia retardar a resposta do programa às interações do usuário. Eu acho que eu poderia usarQPixmap :: loadFromData () para carregar diretamente a partir dos dados do blob armazenados no banco de dados e espero que alguém aqui possa me mostrar um exemplo de como usar essa função.

TIA,

Bing

questionAnswers(3)

yourAnswerToTheQuestion