有没有办法让用户从屏幕上选择颜色?就像 GIMP 或 gcolor2 中的一样,您单击屏幕上的任意位置,它会告诉您鼠标下的颜色。
PS:QColorDialog 没有“pick”功能
您可以抓取整个屏幕的一个像素部分并将其转换为QPixmap:
// crop screen in a pixmap containing only one pixel
QPixmap pixmap = QPixmap::grabWindow(QApplication::desktop()->winId(), mouse_pos_x, mouse_pos_y, 1, 1);
// convert pixmap to QImage so we can access pixel data crossplatform
QImage img = pixmap.toImage();
// image has only one pixel at coords (0,0), get its color
QColor col = QColor(img.pixel(0,0));
然后很容易提取颜色。请参阅此处的功能文档。