¿Cómo hacer una instantánea de una ventana PyQt enorme específica?

Voy a escribir un script en Python 3 que construirá un gráfico / diagrama / gráfico en una ventana (o área de desplazamiento) (previamente creado en Qt Designer 5 y convertido en * .py). Probablemente el gráfico será más grande que el tamaño de la pantalla (como 2k x 3k píxeles). ¿Cómo puedo guardar una foto instantánea de ese gráfico?

Por ejemplo.

El usuario carga datos y cambia algunas configuraciones.Python construye el gráfico.El usuario hace clic en "guardar instantánea".Python guarda graphsnapshot.png.Fin.

UP1. Olvidé agregar Graph es una combinación generada por código de barras de progreso, etiquetas, líneas horizontales y verticales, etc.

UP2.Solución propuesta es para PyQt4. Pero uso PyQt5, donde los comandos grabWidget y grabWindow son obsoletos y no se recomienda su uso.

Miembros obsoletos para QPixmap. Los siguientes miembros de la clase QPixmap son obsoletos. Se proporcionan para mantener funcionando el antiguo código fuente. Le recomendamos encarecidamente que no los use en código nuevo.