我该如何让Qt打印完整的对话框或窗口?
我可以使用外部程序(例如xwd
)转储窗口内容并打印出来,但我更希望一切都能在Qt中完成。
使用QPixmap::grabWidget(或者对于外部窗口使用QPixmap::grabWindow)。
QPixmap pix = QPixmap::grabWidget(myMainWindowWidget);
不确定您是否真的想将其打印到打印机上,如果是:
QPrinter printer(QPrinter::HighResolution);
QPainter painter;
painter.begin(&printer);
painter.drawPixmap (0, 0, &pix);
painter.end();