Как создать скриншот QWidget?
Я работаю над домашней работой в Qt Creator, где рисую в QWidget, и мне нужно сохранить часть этого QWdiget.
Я пытался решить эту проблему:
QPixmap pixmap;
pixmap.copy(rectangle); // rectangle is part of QWidget, which I need to save
pixmap.save("example.png");
Спасибо за помощь.
2 ответа
Решение
Ты можешь использовать QWidget::render
за это. Если предположить, rectangle
является QRect:
QPixmap pixmap(rectangle->size());
widget->render(&pixmap, QPoint(), QRegion(rectangle));
Очень просто:
QPixmap QWidget:: grab (const QRect & rectangle = QRect (QPoint (0, 0), QSize (-1, -1)))