我想实现类似桌面歌词、弹幕姬等功能时寻找了很久让鼠标完全穿透到桌面的解决方案,最后在C++ QT的代码中找到了解决方案。
添加如下代码,可以实现完全忽略鼠标事件。
self.setWindowFlags(Qt.WindowTransparentForInput)
测试用例:
class Demo(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.resize(500, 500)
self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint | Qt.WindowTransparentForInput)
if __name__ == "__main__":
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec())