PyQt5+opencv鼠标滚轮设置图片亮度

环境

pip3 install pyqt5
pip3 install opencv-contrib-python-headless
    '''重载一下滚轮滚动事件'''
    def wheelEvent(self, event):
        angle = event.angleDelta() / 8  # 返回QPoint对象,为滚轮转过的数值,单位为1/8度
        angleX = angle.x()  # 水平滚过的距离(此处用不上)
        angleY = angle.y()  # 竖直滚过的距离
        if angleY > 0:
            self.num +=1
            print("鼠标滚轮上滚"+str(self.num))  # 响应测试语句
        else:  # 滚轮下滚
            self.num -=1
            print("鼠标滚轮下滚"+str(self.num))  # 响应测试语句

根据滚轮修改图片亮度

    '''重载一下滚轮滚动事件'''
    def wheelEvent(self, event):
        angle = event.angleDelta() / 8  # 返回QPoint对象,为滚轮转过的数值,单位为1/8度
        angleX = angle.x()  # 水平滚过的距离(此处用不上)
        angleY = angle.y()  # 竖直滚过的距离
        if angleY > 0:
            self.num +=15
            print("鼠标滚轮上滚"+str(self.num))  # 响应测试语句
        else:  # 滚轮下滚
            self.num -=15
            print("鼠标滚轮下滚"+str(self.num))  # 响应测试语句

        alpha = 100
        img_path = "./images/out.png"
        img = cv2.imread(img_path)
        alpha = alpha * 0.01

        img = np.uint8(np.clip((alpha * img + self.num), 0, 255))
        cv2.imwrite("./images/out2.png", img)

        self.img.setPixmap(QPixmap('./images/out2.png'))

参考:PyQt5 鼠标点击事件(点击响应事件可自定义):鼠标单击、双击、滚轮滚动、释放、移动等

你可能感兴趣的:(PyQt5)