2014-07-15 4 views
0

대화 상자의 내용을 인쇄하는 샘플 코드를 찾았습니다. 그러나 대화 상자에 스크롤바 (수직) 샘플 코드가 모든 내용을 인쇄하지 않으면 대화 상자의 표시 내용 만 인쇄합니다. 당신이 실제 QScrollArea 다음의 widget()를 사용하는 경우 다음 그 viewport() 그것을 페인트스크롤바가있는 Qt 대화 상자를 인쇄하는 방법은 무엇입니까?

를 잡아해야 스크롤바를 제공하는 QAbstractScrollArea이있는 경우

QPainter p(printer); 
Qpixmap pm = QPixmap::grabwidget(this); // this(widget is QDialog having scrollbar etc) 
p.drawPixmap(0,0,pm) 

답변

1

: 아래

는 코드입니다.

QPainter p(printer); 
Qpixmap pm = QPixmap::grabwidget(this->scrollarea->widget()); 
p.drawPixmap(0,0,pm) 
+0

아직 누락 된 항목이 몇 개 있는데, contentsRect(), rect()를 두 번째 인수로 전달하려고 시도했습니다. – user3840176

관련 문제