2011-01-12 3 views
1

그래서 QByteArray에 데이터를 채우고 데이터베이스에 저장하려고합니다. QFixDialog를 사용하여 그림을 얻고 그리드에 그리는 QPixmap을 사용합니다. QPixmap :: save() 후에 sqlalchemy를 통해 db에 저장되도록 설정된 QByteArray가 제대로 작동합니다. bytesWritten 및 readyRead에 연결된 신호 외에도 신호가 실행되지 않습니다. Pixmap은 괜찮아요, 그리드는 setData 후에 유효한 이미지를 포함합니다.QBuffer가 QByteArray 문제를 채우지 않습니다.

 ba = QtCore.QByteArray() 
     buffer = QtCore.QBuffer(ba) 
     buffer.bytesWritten.connect(self.b) 
     buffer.readyRead.connect(self.c) 
     buffer.open(QtCore.QIODevice.WriteOnly) 
     pixmap.save(buffer) 
     buffer.close() 
     ba = buffer.data() 

그래서 내가 뭘 잘못하고 있니?

답변

2

내가) (pixmap.save를 호출 할 때 이미지 파일 형식을 지정할 필요가 있다고 생각, 같은 매끄러운 :이 도움이

pixmap.save(buffer, 'PNG') 

희망,

+0

덕분에 관하여! 그것은 어제 우연히 찾았습니다 :) QPixmap이 바이트 배열 헤더로 형식을 결정할 수 없으며 단어없이 '저장'하는 버그를 명확히 나타내면 그 형식 매개 변수가 필요하지 않습니다. –

관련 문제