Python Forum
[PyQt] Drag items across tabs
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] Drag items across tabs
#5
forget the last post. It's so easy

setChangeCurrentOnDrag

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
 
 
class Main(QtWidgets.QMainWindow):
    def __init__(self, parent):
        super().__init__()

        self.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents)
        self.tab1 = QtWidgets.QTreeWidget()
        self.tab2 = QtWidgets.QTreeWidget()
        self.tab3 = QtWidgets.QTreeWidget()
        self.tabIndex = 0
        item = QtWidgets.QTreeWidgetItem()
        item.setText(0, "drag me")
        self.tab1.addTopLevelItem(item)
        self.tab1.setDragDropMode(QtWidgets.QAbstractItemView.DragOnly)
        self.TabBar = QtWidgets.QTabBar()

        self.ui = QtWidgets.QWidget(self)
        self.ui.tab = QtWidgets.QTabWidget(self)
        self.ui.tab.setTabBar(self.TabBar)
        self.ui.tab.addTab(self.tab1, "1st tab")
        self.ui.tab.addTab(self.tab2, "2nd tab")
        self.ui.tab.addTab(self.tab3, "3rd tab")
        self.tab2.setDragDropMode(QtWidgets.QAbstractItemView.DragDrop)
        self.tab3.setDragDropMode(QtWidgets.QAbstractItemView.DragDrop)
        self.ui.layout = QtWidgets.QVBoxLayout()
        self.ui.layout.addWidget(self.ui.tab)
        self.ui.setLayout(self.ui.layout)
        self.setCentralWidget(self.ui)

        self.TabBar.setCurrentIndex(self.tabIndex)
        self.TabBar.setChangeCurrentOnDrag(True)
        self.TabBar.setAcceptDrops(True)

        self.setAcceptDrops(True)
        self.show()

 
if __name__== '__main__':
    app = QtWidgets.QApplication(sys.argv)
    gui = Main(app)
    sys.exit(app.exec_())
Reply


Messages In This Thread
Drag items across tabs - by Alfalfa - Sep-01-2019, 01:10 AM
RE: Drag items across tabs; how to enable individuals drag events for each tab - by Axel_Erfurt - Sep-01-2019, 06:08 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Found buttonstate in tabs MacTommu 4 2,020 Sep-22-2021, 05:56 PM
Last Post: deanhystad
  TabError: inconsistent use of tabs and spaces in indentation hobbyist 3 4,950 Jun-15-2021, 10:38 PM
Last Post: davide73_italy
  [Tkinter] Vertical Tabs Alignment in Tkinter muhammadasim 2 6,087 Oct-05-2020, 08:40 AM
Last Post: Larz60+
  GUI with drag and drop functionality sayyedkamran 7 6,154 May-26-2020, 10:20 PM
Last Post: jefsummers
  Looking for Python IDE With Drag and Drop GUI Dan_PanMan 0 2,346 May-23-2020, 04:39 PM
Last Post: Dan_PanMan
  [PyQt] Drag and Move window from menubar WBPYTHON 3 4,816 Apr-03-2020, 06:15 PM
Last Post: deanhystad
  click drag olivers 1 2,959 Jan-30-2020, 01:44 AM
Last Post: Larz60+
  [Tkinter] Need help please properly putting tabs within a PanedWindow JackMack118 2 3,393 Dec-08-2019, 03:02 PM
Last Post: balenaucigasa
  [Tkinter] Adding space between Notebook tabs Columbo 4 4,599 Jul-10-2019, 10:46 PM
Last Post: Columbo
  [Tkinter] How to get a tabs works exactly same as google chrome sarthak260 0 3,817 Mar-07-2019, 10:45 AM
Last Post: sarthak260

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020