您的位置:首页 > 新闻 > 会展 > 免费网站建设入门_邢台网上车管所_新的网络推广方式_google安卓手机下载

免费网站建设入门_邢台网上车管所_新的网络推广方式_google安卓手机下载

2025/6/10 3:08:36 来源:https://blog.csdn.net/weixin_42326676/article/details/145472470  浏览:    关键词:免费网站建设入门_邢台网上车管所_新的网络推广方式_google安卓手机下载
免费网站建设入门_邢台网上车管所_新的网络推广方式_google安卓手机下载

窗体类ColorPickerWidget ,继承QWidget
创建一个定时器,每隔一段时间获取鼠标所在点的颜色

QTimer *timerRGB = new QTimer(this);
connect(timerRGB, &QTimer::timeout, this, &ColorPickerWidget ::on_showRGB);
timerRGB->start(100);
void ColorPickerWidget ::on_showRGB()
{//获取鼠标位置QPoint mousePos = QCursor::pos();//获取鼠标所在屏幕QScreen *screen = QGuiApplication::screenAt(mousePos);if (!screen)return;//获取鼠标位置的颜色QPixmap pixmap = screen->grabWindow(0);QColor color = pixmap.toImage().pixelColor(mousePos - screen->geometry().topLeft());QString rgbString = QString("R:%1,G:%2,B:%3").arg(color.red()).arg(color.green()).arg(color.blue());
}
  • QCursor::pos():获取全局的鼠标位置,它返回的是屏幕坐标系中的位置,因此在多屏幕情况下,它将返回屏幕的绝对位置,而不是当前屏幕的局部坐标。
  • QGuiApplication::screenAt(mousePos):根据鼠标的全局位置来获取鼠标所在的屏幕。它会返回一个 QScreen 对象,表示包含该坐标的屏幕。
  • screen->grabWindow(0):从 QScreen 对象抓取屏幕的整个内容(包括桌面区域)。
  • pixmap.toImage().pixelColor():获取鼠标位置的颜色。
  • mousePos - screen->geometry().topLeft():由于 QPixmap::grabWindow() 捕获的是屏幕截图,并且包含了屏幕的起始坐标,因此我们需要将鼠标坐标转换为相对于当前屏幕的局部坐标来获取正确的位置。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com