qt捕获界面为图片或label显示

在软件的开发中,有些特殊的功能实现,需要去截取ui的界面图片,比如我们在实现某些动画中,直接控制ui界面或控件是无法实现的,就算能够实现也是大打折扣,像翻页效果、旋转效果等等。
以上问题,在qwidget可以使用grab()函数截取界面或控件为QPixmap对象,然后保存为图片也好,label显示实现你想要的动画也好。
代码如下:

		QLabel *mLabel = new QLabel(parent);
    	mLabel->resize(QSize(yourWidget->width(),yourWidget->height()));
    	mLabel->setPixmap(yourWidget->grab());  //捕获当前界面并绘制到label上
    	mLabel->setAttribute(Qt::WA_DeleteOnClose);	//设置属性(关闭时删除)
    	mLabel->show();
    	mLabel->raise();

你可能感兴趣的:(C++\QT,qt,控件,图片,截图)