document.write("");

python pyqt6 QMainWindow 使用QComboBox 窗口移位

QMainWindow 可拖拽移动,但是点击QComboBox  时,窗口有时会误识别为拖拽移动,导致窗口自动移动位置

在QMainWindow中,新增事件筛选器

    # 避免点击QComboBox时,窗口自动拖拽移动
    def eventFilter(self, obj, event):
        if isinstance(obj, QComboBox) and event.type() == QEvent.Type.MouseMove:
            # 当对象是QComboBox且按下鼠标按钮时
            if event.buttons() & Qt.MouseButton.LeftButton:
                # 检查是否是左键按下
                # 阻止此事件继续传播,防止窗口被拖动
                return True
        
        # 其他情况则默认处理事件
        return super().eventFilter(obj, event)

  

xxx_combox.installEventFilter(self)

  

 

posted @ 2024-01-25 10:38  人间春风意  阅读(66)  评论(0编辑  收藏  举报