Example #1
0
QPixmap myGrab(QWidget *target, const QRect &rect) {
    if (!cRetina()) return target->grab(rect);
        
    if (target->testAttribute(Qt::WA_PendingResizeEvent) || !target->testAttribute(Qt::WA_WState_Created)) {
        _sendResizeEvents(target);
    }
    
    qreal dpr = App::app()->devicePixelRatio();
    QPixmap result(rect.size() * dpr);
    result.setDevicePixelRatio(dpr);
    result.fill(Qt::transparent);
    target->render(&result, QPoint(), QRegion(rect), QWidget::DrawWindowBackground | QWidget::DrawChildren | QWidget::IgnoreMask);
    return result;
}
Example #2
0
void myEnsureResized(QWidget *target) {
	if (target && (target->testAttribute(Qt::WA_PendingResizeEvent) || !target->testAttribute(Qt::WA_WState_Created))) {
		_sendResizeEvents(target);
	}
}