PyQt5 QSpinbox – Dragging text from it and dropping it to Custom Label
In this article we will see how we can drag the text of the spin box and drop it to the given custom label using cursor. Dragging and dropping text is similar to drag and drop a folder from one directory to the another and when we do this another copy of it get generated.
In order to do this we have to do the following :
1. Create a spin box
2. Get the line edit object of the spin box
3. Make drag enable to the line edit object
4. Create a new class for the custom label which inherits QLabel class
5. Allow this class to accept drops
6. Add drag and drop event to it so that it can receive the text and show the text
Syntax of Custom Label class
class CustomLabel(QLabel): # constructor def __init__(self, title, parent): super().__init__(title, parent) # enabling accept drops self.setAcceptDrops(True) # creating drag enter event to receive text def dragEnterEvent(self, e): # checking format of the text if e.mimeData().hasFormat('text/plain'): # accepting the text e.accept() else: # rejecting the text e.ignore() # drop event to showing the text to label def dropEvent(self, e): # setting text to the label self.setText(e.mimeData().text())
Below is the implementation
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course