I was correct in that code to print does not work for 8-bit color indexed images. I went to more of an OpenGL approach to solve my printing problem. I called glReadPixels to get the color map index values at every single pixel in the QGLWidget. I then found the red, green, and blue components of each pixel and applied this to the corresponding pixel in an empty but allocated QImage. After creating the QImage pixel by pixel I then used the QPainter to paint to my printer or the QImage::save function to save the image out to a JPG file. This works but i a little slow, but is better than any other alternatives I could find. Thanks for all your help through this and sorry I couldn't find a faster, Qt-only solution.