サンプル データをテキスト ファイルに書き込みました。このテキスト ファイルをプリンターで印刷したいと考えています。Qt4を使用してこれを行うためにコードがどのようになるか教えてください。
13866 次
1 に答える
14
テキストをプリンターに出力するには、QPrinter と QPainter オブジェクトを使用する必要があります。
次のコードは、ダイアログ ボックス (QPrintDialog) から選択されたプリンターにサンプル テキストを印刷します。
#include <QApplication>
#include <QPrinter>
#include <QPrintDialog>
#include <QPainter>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString text =
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n"
"eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n"
"enim ad minim veniam, quis nostrud exercitation ullamco laboris\n"
"nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n"
"in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n"
"nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n"
"sunt in culpa qui officia deserunt mollit anim id est laborum.\n";
QPrinter printer;
QPrintDialog *dialog = new QPrintDialog(&printer);
dialog->setWindowTitle("Print Document");
if (dialog->exec() != QDialog::Accepted)
return -1;
QPainter painter;
painter.begin(&printer);
painter.drawText(100, 100, 500, 500, Qt::AlignLeft|Qt::AlignTop, text);
painter.end();
return 0;
}
テキスト ファイルのコンテンツを印刷するには、ファイルを 1 行ずつ解析して、コンテンツを含む QString を生成する必要があります。生成された QString は、例のサンプル テキストのように印刷できます。
詳細については、QPrinterおよびQPainterのドキュメントを参照してください。
于 2012-07-09T18:14:35.757 に答える