网上查到了好多种方法,1.添加过滤器(eventFilter),2.重写鼠标单击事件,这两种方法都要判断鼠标单击位置是不是在子窗口上.而且在可编辑控件上如(下拉框.文本编辑框等),父窗口会直接传递到可编辑控件上,过滤器和重写的鼠标事件无法获取单击事件. bool eventFilter(QObject *watched, QEvent *event);//过滤器 void mousePressEvent(QMouseEvent *ev);//鼠标事件 其实最简单有效的方法是设置窗口标志位 set