Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.




matka przelozona
Więc tak naskrobałam sobie taki kod
/*
* slot odpowiedzialny za podglad wydruku
*/
void MainWindow::PrintPreview()
{
QPrinter printer( QPrinter::HighResolution );
QPrintPreviewDialog preview( &printer, this );
connect( &preview, SIGNAL(paintRequested(QPrinter*)), SLOT(PrintPrepare(QPrinter*)) );
preview.exec();
}
/*
* slot odpowiedzialny za okno dialogowe drukarek
*/
void MainWindow::PrintDialog()
{
QPrinter printer( QPrinter::HighResolution );
QPrintDialog dialog( &printer, this );
if ( dialog.exec() == QDialog::Accepted ) PrintPrepare( &printer );
}
/*
* slot odpowiedzialny za przygotowanie wydruku
*/
void MainWindow::PrintPrepare( QPrinter* printer )
{
QRectF rectangle(40.0, 60.0, 7500.0, 3500.0);
QPainter painter(printer);
painter.drawRect(rectangle);
painter.drawEllipse(rectangle);
}Narysowałam sobie kułeczko z kwadracikiem i tak ładnie na podglądzie ono jest :] ale jak w tym oknie dialogowym dam drukowanie to ten obrazek się nie drukuje :/ wychodzi biała kartka
Ma ktoś jakiś pomysł na rozwiązanie tego problemu?
Offline




matka przelozona
Rozwiązałam ;p
Dla potomnych tworzymy obiekt QImage o określonych parametrach czyli rozmiar + format kolorów tworzymy obiekt QPainter podając referencje do naszego obrazka rysujemy co trzeba (jeszcze nie wyczaiłam jak zmieniać część parametrów jak grubość kreski itp) i następnie każemy wrysować nasz obrazek na obiekcie którego celem jest drukarka
Sory za nie ładne wysławianie się ale ja programerem nie jestem :P
/*
* slot odpowiedzialny za podglad wydruku
*/
void MainWindow::PrintPreview()
{
QPrinter printer( QPrinter::HighResolution );
printer.setPageSize( QPrinter::A4 );
QPrintPreviewDialog preview( &printer, this );
connect( &preview, SIGNAL(paintRequested(QPrinter*)), SLOT(PrintPrepare(QPrinter*)) );
preview.exec();
}
/*
* slot odpowiedzialny za okno dialogowe drukarek
*/
void MainWindow::PrintDialog()
{
QPrinter printer( QPrinter::HighResolution );
printer.setPageSize( QPrinter::A4 );
QPrintDialog dialog( &printer, this );
if ( dialog.exec() == QDialog::Accepted ) PrintPrepare( &printer );
}
/*
* slot odpowiedzialny za przygotowanie wydruku
*/
void MainWindow::PrintPrepare( QPrinter* printer )
{
QRectF rectangle(10.0, 60.0, 800.0, 800.0);
QPainter p(printer);
QImage img(1256, 1256,QImage::Format_RGB32);
img.fill(QColor(Qt::white).rgb());
QPainter painter(&img);
QColor mc;
mc.setRgb(140,0,0);
painter.drawText(0, 0, "ble ble ble :");
painter.drawRect(rectangle);
painter.drawEllipse(rectangle);
painter.paintEngine();
painter.drawLine(20,20, 800, 800);
p.drawImage(0,0, img);
}Offline