在QT中反转光标颜色

在QT中反转光标颜色,qt,user-interface,colors,cursor,inverse,Qt,User Interface,Colors,Cursor,Inverse,我正在学习QT编程,我想知道是否有一种简单的方法可以动态地将光标颜色设置为与光标下的颜色完全相反的颜色。我假设在编译期间,游标的确切形状是未知的,并且可以通过资源重载游标 只需给我一些一般性的指导,无需为我编写完全可以工作的代码:) 谢谢,, Alex我可以建议您在Qt论坛上查看此论坛帖子吗: 在这里,他们解释说,获取特定像素处颜色的最佳方法是使用QImage::pixel(const QPoint&position)函数。此函数用于返回给定位置的像素颜色。在您的情况下,需要将鼠标光标的位置传递

我正在学习QT编程,我想知道是否有一种简单的方法可以动态地将光标颜色设置为与光标下的颜色完全相反的颜色。我假设在编译期间,游标的确切形状是未知的,并且可以通过资源重载游标

只需给我一些一般性的指导,无需为我编写完全可以工作的代码:)

谢谢,,
Alex

我可以建议您在Qt论坛上查看此论坛帖子吗:

在这里,他们解释说,获取特定像素处颜色的最佳方法是使用QImage::pixel(const QPoint&position)函数。此函数用于返回给定位置的像素颜色。在您的情况下,需要将鼠标光标的位置传递给此函数

要跟踪光标的位置,请使用QCursor::pos()函数,或者如果需要随时跟踪鼠标的位置,可以根据需要覆盖QMouseEvent类中的函数,如pos()或globalPos()

现在,由于您知道光标的位置以及光标在特定位置的颜色,您只需创建一个新的QCursor,并使用新创建的光标QApplication::ChangeOverrideCursors(QCursor)将该光标设置到应用程序中

其中一些方法在处理时间上代价高昂,因此我建议您仔细考虑应用程序试图实现的目标


希望这能给你一个起点。祝你好运。

谢谢,我认为这确实是一个好的开始。唯一不能使其成为完整解决方案的是,QImage::pixel返回光标指向的像素,而不是光标覆盖的多个像素。我认为QT支持不同的混合模式,可以返回光标形状的对象和最终对象的颜色。反转颜色应该很简单。