我找到了打印对话框内容的示例代码。但是如果对话框有滚动条(垂直),则示例代码不会打印所有内容,它只打印对话框的可查看内容。
以下是代码:
QPainter p(printer);
Qpixmap pm = QPixmap::grabwidget(this); // this(widget is QDialog having scrollbar etc)
p.drawPixmap(0,0,pm)
答案 0 :(得分:1)
如果您有QAbstractScrollArea
提供滚动条,那么您应该抓住它viewport()
来绘制它,
如果是实际QScrollArea
,请使用其widget()
。
QPainter p(printer);
Qpixmap pm = QPixmap::grabwidget(this->scrollarea->widget());
p.drawPixmap(0,0,pm)