社区
Qt
帖子详情
QPixmap::grabWindow截出来的图片为啥没有鼠标标志呢
rbllbr123
2013-03-01 02:04:14
QPixmap::grabWindow截出来的图片为啥没有鼠标标志呢
将鼠标画上去是一种方法 但总感觉不太好
...全文
744
2
打赏
收藏
QPixmap::grabWindow截出来的图片为啥没有鼠标标志呢
QPixmap::grabWindow截出来的图片为啥没有鼠标标志呢 将鼠标画上去是一种方法 但总感觉不太好
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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上做太多的二次图形开发,限制太多了!
06-Qt实现
截
取屏幕任意区域并保存为
图片
或视频(
截
屏控件)
一、效果图 二、窗口特点与用途 窗口背景透明,窗口中的控件并不透明。 可以使用
鼠标
拖动窗口位置; 可以通过拖放角任意改变窗口大小; 可以正常放置任何控件或留空; 此透明窗口用于实现
截
图功能或
截
取视频的功能; 点击例子中透明窗口里的按钮即可保存透明选取的
截
图到执行文件目录; 三、制作原理与方法 使用以下代码实现窗口透明且窗口内控件不透明set
Window
Flags(Qt::Dialog | ...
QWidget
如果想在
鼠标
移动时立即显示工具提示(例如,使用 QMouseEvent::pos() 获取
鼠标
坐标并将它们显示为工具提示),必须首先启用
鼠标
跟踪,然后,为了确保工具提示立即更新,必须在 mouseMoveEvent() 的实现中调用 QToolTip::showText() 而不是 setToolTip()。4、在实现一个新的小部件时,重新实现sizeHint()为小部件提供一个合理的默认大小并使用setSizePolicy()设置正确的大小策略是很有用的。如果小部件接受关闭事件,它就会被隐藏。
Qt/C++音视频开发49-通用
截
图
截
屏
一、前言 采用了回调方式的视频通道,
截
图只需要对解析好的QImage对象直接保存即可,而对于句柄的形式,需要调用不同的处理策略,比如vlc需要用它自己提供的api接口函数libvlc_video_take_snapshot传入保存路径即可,mpv的内核执行screenshot-to-file命令传入路径参数即可,而ffmpeg就需要设置抓拍
标志
位,在实时采集解析那边,如果当前是
截
图
标志
位真,则需要改成QImage转换的机制发出
图片
,而不是yuv的数据opengl绘制,海康的sdk调用NET_DVR_Capt
Qt
16,213
社区成员
26,593
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章