思路:先获取整个屏幕图像,保存到一个QPixmap中,然后在一个窗口中显示这图像。再利用鼠标事件,让用户在这个窗口(即图像)中选取一个区域,最后保存这个区域即可。
使用到的知识:
可以用下面的代码获取整个屏幕图像。
QPixmap::grabWindow( QApplication::desktop()->winId(), 0, 0, QApplication::desktop()->width(), QApplication::desktop()->height() ); 这个静态函数的返回值是一个QPixmap。
用setWindowFlags(Qt::Widget|Qt::FramelessWindowHint);将窗口的边界去掉,最后只余下一个图片。并用 resize(QApplication::desktop()->width(),QApplication::de