Did you try method #1 without the fill? Perhaps this would work?

Qt Code:
  1. QImage image(pixmap.size(), QImage::Format_ARGB32_Premultiplied);
  2.  
  3. {
  4. QPainter painter(&image);
  5.  
  6. painter.setCompositionMode(QPainter::CompositionMode_Source);
  7.  
  8. painter.setOpacity(.2);
  9. painter.drawPixmap(0, 0, pixmap);
  10. }
  11.  
  12. pixmap = QPixmap::fromImage(image);
To copy to clipboard, switch view to plain text mode