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.
QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
//doing layouts
connect(testPreview_2,
SIGNAL(paintRequested
(QPrinter*)),
connect(testPreview_1,
SIGNAL(paintRequested
(QPrinter*)),
QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
QPushButton *btn_1 = new QPushButton("zoomIn_1");
QPushButton *btn_2 = new QPushButton("zoomIn_2");
//doing layouts
connect(testPreview_2, SIGNAL(paintRequested(QPrinter*)),
this, SLOT(testSlot(QPrinter*)));
connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
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
QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
//doing layouts
connect(testPreview_2,
SIGNAL(paintRequested
(QPrinter*)),
// connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
// this, SLOT(testSlot(QPrinter*)));
QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
QPushButton *btn_1 = new QPushButton("zoomIn_1");
QPushButton *btn_2 = new QPushButton("zoomIn_2");
//doing layouts
connect(testPreview_2, SIGNAL(paintRequested(QPrinter*)),
this, SLOT(testSlot(QPrinter*)));
// connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
// 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.
QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
// QPushButton *btn_1 = new QPushButton("zoomIn_1");
// QPushButton *btn_2 = new QPushButton("zoomIn_2");
//doing layouts
connect(testPreview_2,
SIGNAL(paintRequested
(QPrinter*)),
connect(testPreview_1,
SIGNAL(paintRequested
(QPrinter*)),
QPrintPreviewWidget *testPreview_1 = new QPrintPreviewWidget();
QPrintPreviewWidget *testPreview_2 = new QPrintPreviewWidget();
// QPushButton *btn_1 = new QPushButton("zoomIn_1");
// QPushButton *btn_2 = new QPushButton("zoomIn_2");
//doing layouts
connect(testPreview_2, SIGNAL(paintRequested(QPrinter*)),
this, SLOT(testSlot(QPrinter*)));
connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
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?
Bookmarks