社区
Qt
帖子详情
QPixmap::grabWindow截出来的图片为啥没有鼠标标志呢
rbllbr123
2013-03-01 02:04:14
QPixmap::grabWindow截出来的图片为啥没有鼠标标志呢
将鼠标画上去是一种方法 但总感觉不太好
...全文
770
2
打赏
收藏
QPixmap::grabWindow截出来的图片为啥没有鼠标标志呢
QPixmap::grabWindow截出来的图片为啥没有鼠标标志呢 将鼠标画上去是一种方法 但总感觉不太好
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
乔巴好萌
2013-03-01
打赏
举报
回复
实现里面就不抓mouse cursor的 所以还是换别的思路把 QPixmap QPixmap::grabWindow(WId winId, int x, int y, int w, int h ) { RECT r; GetClientRect(winId, &r); if (w < 0) w = r.right - r.left; if (h < 0) h = r.bottom - r.top; #ifdef Q_WS_WINCE_WM if (qt_wince_is_pocket_pc()) { QWidget *widget = QWidget::find(winId); if (qobject_cast<QDesktopWidget *>(widget)) { RECT rect = {0,0,0,0}; AdjustWindowRectEx(&rect, WS_BORDER | WS_CAPTION, FALSE, 0); int magicNumber = qt_wince_is_high_dpi() ? 4 : 2; y += rect.top - magicNumber; } } #endif // Create and setup bitmap HDC display_dc = GetDC(0); HDC bitmap_dc = CreateCompatibleDC(display_dc); HBITMAP bitmap = CreateCompatibleBitmap(display_dc, w, h); HGDIOBJ null_bitmap = SelectObject(bitmap_dc, bitmap); // copy data HDC window_dc = GetDC(winId); BitBlt(bitmap_dc, 0, 0, w, h, window_dc, x, y, SRCCOPY #ifndef Q_WS_WINCE | CAPTUREBLT #endif ); // clean up all but bitmap ReleaseDC(winId, window_dc); SelectObject(bitmap_dc, null_bitmap); DeleteDC(bitmap_dc); QPixmap pixmap = QPixmap::fromWinHBITMAP(bitmap); DeleteObject(bitmap); ReleaseDC(0, display_dc); return pixmap; }
jdwx
2013-03-01
打赏
举报
回复
这个没注意过,好像没有带鼠标的。 windows自带的截图工具也没有鼠标。
基于Qt的镜面翻转桌面小程序
基于Qt实现的在扩展屏幕上镜像翻转主屏幕程序
Qt踩坑记001:无法在读取相机图像的取景器QVideoWidget/QGraphicsVideoItem上显示
图片
不要指望在Qt自带的取景器QVideoWidget/QGraphicsVideoItem上做太多的二次图形开发,限制太多了!
使用Qt实现最基础的
截
屏软件
通过设置窗口
标志
Qt::Frameless
Window
Hint、Qt::Q
Window
StayOnTopHint和Qt::Tool以及属性Qt::WA_TranslucentBackground,创建一个全透明的窗口。绘制选择区域:在paintEvent中,先绘制全屏
截
图,然后在
截
图上绘制用户选择区域(这一步是为了防止其他窗口干扰
截
图
鼠标
事件)保存选择区域:在mouseReleaseEvent中,根据用户选择区域从全屏
截
图中裁剪出选择区域的
截
图,并保存到文件。先上代码(主函数
没有
改动)
Qt学习(十)
截
图程序分析(接上篇)
因为本人今天还有事,事件
06-Qt实现
截
取屏幕任意区域并保存为
图片
或视频(
截
屏控件)
一、效果图 二、窗口特点与用途 窗口背景透明,窗口中的控件并不透明。 可以使用
鼠标
拖动窗口位置; 可以通过拖放角任意改变窗口大小; 可以正常放置任何控件或留空; 此透明窗口用于实现
截
图功能或
截
取视频的功能; 点击例子中透明窗口里的按钮即可保存透明选取的
截
图到执行文件目录; 三、制作原理与方法 使用以下代码实现窗口透明且窗口内控件不透明set
Window
Flags(Qt::Dialog | ...
Qt
16,816
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章