Название: как вывести инфу на принтер ? Отправлено: pablo от Январь 18, 2005, 15:36 Скажите как исользуя Qt вывести информацию на принтер ?
Если текст у меня вводится с клавиатуры(объект QTextEdit). Какие функции надо использовать, что к чему подключать и т.п. Заранее благодарю Название: как вывести инфу на принтер ? Отправлено: DenKor от Январь 18, 2005, 15:41 Вот кусок текста из моей программы
Код:
Название: как вывести инфу на принтер ? Отправлено: Admin от Январь 18, 2005, 16:14 из опыта скажу не забывайте проверять на наличие принтера в системе :)
Название: как вывести инфу на принтер ? Отправлено: Zmey от Январь 18, 2005, 16:33 Читай "C++ GUI Programming with Qt 3". Глава 8, параграф Printing.
Название: как вывести инфу на принтер ? Отправлено: pablo от Январь 18, 2005, 22:23 Окей пачитаю, обезательно. Спасибо за инфу
Название: как вывести инфу на принтер ? Отправлено: Anton от Декабрь 20, 2005, 15:50 использую QTextEdit,
при выводе на печать все форматирование текста теряется, т.е. ни тебе жирного, ни подчеркнутого и т.д. qt334 void Form1::printButton_clicked() { QPrinter *printer; printer = new QPrinter( QPrinter::HighResolution ); printer->setFullPage( TRUE ); if ( printer->setup(textEdit) ) { // printer dialog QPainter p; if( !p.begin( printer ) ) { // paint on printer return; } QPaintDeviceMetrics metrics( p.device() ); int dpiy = metrics.logicalDpiY(); int margin = (int) ( (2/2.54)*dpiy ); // 2 cm margins QRect view( margin, margin, metrics.width() - 2*margin, metrics.height() - 2*margin ); QSimpleRichText richText( QStyleSheet::convertFromPlainText(textEdit->text()), QFont(), textEdit->context(), textEdit->styleSheet(), textEdit->mimeSourceFactory(), view.height() ); richText.setWidth( &p, view.width() ); int page = 1; do { richText.draw( &p, margin, margin, view, colorGroup() ); view.moveBy( 0, view.height() ); p.translate( 0 , -view.height() ); p.drawText( view.right() - p.fontMetrics().width( QString::number( page ) ), view.bottom() + p.fontMetrics().ascent() + 5, QString::number( page ) ); if ( view.top() - margin >= richText.height() ) break; printer->newPage(); page++; } while (TRUE); } } Название: как вывести инфу на принтер ? Отправлено: Alikus от Апрель 03, 2006, 00:16 Цитата: "Anton" использую QTextEdit, при выводе на печать все форматирование текста теряется, т.е. ни тебе жирного, ни подчеркнутого и т.д. qt334 Код: QStyleSheet::convertFromPlainText(textEdit->text()) А это тебе зачем? :) |