The difference between the following codes are indicated by comments, ignore the layout arrangement.
This crashes to: "Access violation reading location 0xcdcdcdd1." in QPicture::play(QPainter *painter), the picture is null.
Qt Code:
  1. QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
  2. QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
  3. QPushButton *btn_1 = new QPushButton("zoomIn_1");
  4. QPushButton *btn_2 = new QPushButton("zoomIn_2");
  5. //doing layouts
  6.  
  7. connect(testPreview_2, SIGNAL(paintRequested(QPrinter*)),
  8. this, SLOT(testSlot(QPrinter*)));
  9. connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
  10. this, SLOT(testSlot(QPrinter*)));
To copy to clipboard, switch view to plain text mode 

I removed the second connection to render printer's contents, and it works well
Qt Code:
  1. QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
  2. QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
  3. QPushButton *btn_1 = new QPushButton("zoomIn_1");
  4. QPushButton *btn_2 = new QPushButton("zoomIn_2");
  5. //doing layouts
  6.  
  7. connect(testPreview_2, SIGNAL(paintRequested(QPrinter*)),
  8. this, SLOT(testSlot(QPrinter*)));
  9. // connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
  10. // this, SLOT(testSlot(QPrinter*)));
To copy to clipboard, switch view to plain text mode 

Or else, i removed the buttons, leave 2 print preview widget only, and it works well, too. 2 QPrintpreviewWidget are shown side by side.
Qt Code:
  1. QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
  2. QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
  3. // QPushButton *btn_1 = new QPushButton("zoomIn_1");
  4. // QPushButton *btn_2 = new QPushButton("zoomIn_2");
  5. //doing layouts
  6.  
  7. connect(testPreview_2, SIGNAL(paintRequested(QPrinter*)),
  8. this, SLOT(testSlot(QPrinter*)));
  9. connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
  10. this, SLOT(testSlot(QPrinter*)));
To copy to clipboard, switch view to plain text mode 

Who has ever came across this problem? is this a but of Qt?