def mouseMoveEvent(self, event): """Override Qt method""" if event.buttons() == Qt.MouseButtons(Qt.LeftButton) and \ (event.pos() - self.__drag_start_pos).manhattanLength() > \ QApplication.startDragDistance(): drag = QDrag(self) mimeData = QMimeData() # Converting id's to long to avoid an OverflowError with PySide if PY2: ancestor_id = long(id(self.ancestor)) parent_widget_id = long(id(self.parentWidget())) self_id = long(id(self)) else: ancestor_id = id(self.ancestor) parent_widget_id = id(self.parentWidget()) self_id = id(self) mimeData.setData("parent-id", QByteArray.number(ancestor_id)) mimeData.setData("tabwidget-id", QByteArray.number(parent_widget_id)) mimeData.setData("tabbar-id", QByteArray.number(self_id)) mimeData.setData( "source-index", QByteArray.number(self.tabAt(self.__drag_start_pos))) drag.setMimeData(mimeData) drag.exec_() QTabBar.mouseMoveEvent(self, event)
def mouseDoubleClickEvent(self, event): """Override Qt method to trigger the tab name editor.""" if self.rename_tabs is True and \ event.buttons() == Qt.MouseButtons(Qt.LeftButton): # Tab index index = self.tabAt(event.pos()) if index >= 0: # Tab is valid, call tab name editor self.tab_name_editor.edit_tab(index) else: # Event is not interesting, raise to parent QTabBar.mouseDoubleClickEvent(self, event)
def mouseMoveEvent(self, event): """Override Qt method""" if event.buttons() == Qt.MouseButtons(Qt.LeftButton) and \ (event.pos() - self.__drag_start_pos).manhattanLength() > \ QApplication.startDragDistance(): drag = QDrag(self) mimeData = QMimeData() ancestor_id = to_text_string(id(self.ancestor)) parent_widget_id = to_text_string(id(self.parentWidget())) self_id = to_text_string(id(self)) source_index = to_text_string(self.tabAt(self.__drag_start_pos)) mimeData.setData("parent-id", to_binary_string(ancestor_id)) mimeData.setData("tabwidget-id", to_binary_string(parent_widget_id)) mimeData.setData("tabbar-id", to_binary_string(self_id)) mimeData.setData("source-index", to_binary_string(source_index)) drag.setMimeData(mimeData) drag.exec_() QTabBar.mouseMoveEvent(self, event)