2012-04-30 42 views
7

Tôi làm việc tại bài tập về nhà của tôi trong Qt Creator, nơi tôi vẽ cho QWidget và tôi cần lưu một số phần của QWdiget này.Cách tạo ảnh chụp màn hình của QWidget?

tôi đã cố gắng để giải quyết vấn đề này:

QPixmap pixmap; 
pixmap.copy(rectangle); // rectangle is part of QWidget, which I need to save 
pixmap.save("example.png"); 

Cảm ơn bạn đã giúp đỡ.

Trả lời

13

Bạn có thể sử dụng QWidget::render cho việc này. Giả sử rectangle là một QRect:

QPixmap pixmap(rectangle->size()); 
widget->render(&pixmap, QPoint(), QRegion(rectangle)); 
+1

Cảm ơn bạn đã trả lời. Nó hoạt động trong trí tưởng tượng của tôi. – avalagne

+0

làm cách nào để lưu tệp vào một tệp? – bachurim09

+0

@ bachurim09: mã trong câu hỏi thực hiện điều đó. Vui lòng kiểm tra tài liệu cho QPixmap. – Mat

Các vấn đề liên quan