nifei
5th March 2009, 09:20
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();
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*)));
I removed the second connection to render printer's contents, and it works well
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*)));
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*)),
this, SLOT(testSlot(QPrinter*)));
connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
this, SLOT(testSlot(QPrinter*)));
Who has ever came across this problem? is this a but of Qt?
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();
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*)));
I removed the second connection to render printer's contents, and it works well
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*)));
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*)),
this, SLOT(testSlot(QPrinter*)));
connect(testPreview_1, SIGNAL(paintRequested(QPrinter*)),
this, SLOT(testSlot(QPrinter*)));
Who has ever came across this problem? is this a but of Qt?