关闭

Qt截取窗口到保存到图片

6327人阅读 评论(0) 收藏 举报
分类:


方法1:

    QScreen *screen = QGuiApplication::primaryScreen();

    if (screen)

      QPixmap  originalPixmap = screen->grabWindow(0);

方法2:

QDesktopWidget * pDesktoWidget = QApplication::desktop();
QScreen * pqscreen  = QGuiApplication::primaryScreen() ;
QPixmap pixmap = pqscreen->grabWindow( pDesktoWidget->winId(), 0,0,500,500 );
  QPainter paint1(this);
        paint1.drawPixmap(0,0,pixmap.width(),pixmap.height(), pixmap );


关于:QPixmap QScreen::grabWindow(WId window, int x = 0, int y = 0, int width = -1, int height = -1);

从参数可以看出,可以获取任何ui界面的任意大小矩形范围保存到图片;


QScreen 没有public构造函数,所以需要QGuiApplication::primaryScreen() 返回QScreen指针;


方法3:

QPixmap::grabWidget

0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1594852次
    • 积分:17692
    • 等级:
    • 排名:第609名
    • 原创:325篇
    • 转载:286篇
    • 译文:5篇
    • 评论:156条
    最新评论