def event ( self, event ): if not self.areaDragCanStart and event.type () == QEvent.MouseButtonPress and not self.manager.config.setdefault ( QTWM_AREA_SHOW_DRAG_HANDLE, False ): floatingWrapper = False wrapper = self.wrapper () if wrapper and self.manager.isFloatingWrapper ( wrapper.getWidget () ): floatingWrapper = True if not floatingWrapper and self.currentWidget () and not self.currentWidget ().rect ().contains ( self.currentWidget ().mapFromGlobal ( QCursor.pos () ) ): self.areaDragCanStart = True qWarning ( "[QToolWindowArea] event: areaDragCanStart = true" ) elif event.type () == QEvent.MouseMove and not self.manager.config.setdefault ( QTWM_AREA_SHOW_DRAG_HANDLE, False ): if self.areaDragCanStart: if qApp.mouseButtons () == QtCore.Qt.LeftButton: toolWindows = [ ] for i in range ( 0, self.count () ): toolWindow = self.widget ( i ) if cast ( toolWindow, QToolWindowSingleTabAreaFrame ) == self.tabFrame: toolWindow = self.tabFrame.contents toolWindows.append ( toolWindow ) self.areaDragCanStart = False qWarning ( "[QToolWindowArea] event: areaDragCanStart = false" ) self.manager.startDrag ( toolWindows, self ) self.releaseMouse () return QTabWidget.event ( self, event )