PyQt5 QDockWidget – Dock Location Changed Signal

In this article we will see how we can get the dock location changed signal of the QDockWidget. QDockWidget provides the concept of dock widgets, also know as tool palettes or utility windows. Dock windows are secondary windows placed in the dock widget area around the central widget in a QMainWindow(original window).
This signal is emitted when the dock widget is moved to another dock area, or is moved to a different location in its current dock area. This happens when the dock widget is moved programmatically or is dragged to a new location by the user.
In order to do this we will use
dockLocationChangedmethod with the dock widget object.Syntax : dock.dockLocationChanged.connect(method)
Argument : It takes method as argument
Return : It returns None
Below is the implementation
Python3
| # importing libraries fromPyQt5.QtWidgets import*fromPyQt5 importQtCore, QtGui fromPyQt5.QtGui import*fromPyQt5.QtCore import*importsys   classWindow(QMainWindow):      def__init__(self):         super().__init__()          # setting title         self.setWindowTitle("Python ")          # setting geometry         self.setGeometry(100, 100, 500, 400)          # calling method         self.UiComponents()          # showing all the widgets         self.show()      # method for components     defUiComponents(self):          # creating dock widget         dock =QDockWidget(self)          # setting title to the dock widget         dock.setWindowTitle("GfG Dock")           # push button         push =QPushButton("Press", self)          dock.setAllowedAreas(Qt.NoDockWidgetArea)          # setting widget to the dock         dock.setWidget(push)          # creating a label         label =QLabel("zambiatek", self)          # setting geometry to the label         label.setGeometry(100, 200, 300, 80)          # making label multi line         label.setWordWrap(True)          # setting geometry tot he dock widget         dock.setGeometry(100, 0, 200, 30)          # getting dock location changed signal         # setting text to the label         dock.dockLocationChanged.connect(lambda: label.setText("Dock Location Changed Signal Emitted"))    # create pyqt5 app App =QApplication(sys.argv)  # create the instance of our Window window =Window()  # start the app sys.exit(App.exec())  | 
Output :
 
				 
					



