如何使用 Qt 在屏幕上绘制选择矩形?
Posted
技术标签:
【中文标题】如何使用 Qt 在屏幕上绘制选择矩形?【英文标题】:How can I draw a selection rectangle on the screen with Qt? 【发布时间】:2010-09-22 13:33:23 【问题描述】:如何在 X11 中使用 Qt 在我的屏幕上绘制一个选择矩形? 我希望能够在我的屏幕上(应用程序之外)拖动一个矩形,然后保存整个矩形。
提前致谢。
【问题讨论】:
【参考方案1】:部分解决方案将涉及使用QPixmap
的grabWindow()
函数,如下所示:
QPixmap::grabWindow(QApplication::desktop()->winId());
Qt 有一个example program for this here。
解决方案的其余部分,即绘制要抓取的区域,可能可以通过使用全屏透明窗口来渲染鼠标绘制的矩形,然后从抓取的桌面图像中获取其轮廓的部分或使用全屏来实现窗口,上面绘制了整个抓取的屏幕。
【讨论】:
嗯,是的,我知道。这是我最初的方法。由于我正在编写一个屏幕截图实用程序,你认为它初始化和截取全尺寸屏幕截图所需的时间会很明显吗? 我认为它与任何其他屏幕截图实用程序一样响应迅速。构建和测试示例程序将是一个快速的实验。 是的,好吧,我会接受你的回答。谢谢。以上是关于如何使用 Qt 在屏幕上绘制选择矩形?的主要内容,如果未能解决你的问题,请参考以下文章
如何在带有 Qt 的 OpenGL 中使用顶点缓冲区对象绘制矩形?