Skip to content
Related Articles

Related Articles

Improve Article

PyQt5 – QDockWidget

  • Last Updated : 28 Jul, 2020

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). Dock windows can be moved inside their current area, moved into new areas and floated (e.g., undocked) by the end-user. The QDockWidget API allows the programmer to restrict the dock widgets ability to move, float and close, as well as the areas in which they can be placed.

Below is how the dock widget looks like

When we open this widget it looks like this

Example :
We will create a dock widget and add push button to it and when push button will get pressed a message will get printed on the label

Below is the implemnetation






# importing libraries
from PyQt5.QtWidgets import * 
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import * 
from PyQt5.QtCore import * 
import sys
  
  
class Window(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
    def UiComponents(self):
  
        # creating dock widget
        dock = QDockWidget("GeeksforGeeks", self)
  
        # push button
        push = QPushButton("Press", self)
  
        # setting widget to the dock
        dock.setWidget(push)
  
        # setting geometry tot he dock widget
        dock.setGeometry(100, 0, 200, 30)
  
  
        # creating a label
        label = QLabel("GeeksforGeeks", self)
  
        # setting geometry to the label
        label.setGeometry(100, 200, 300, 80)
  
        # making label multi line
        label.setWordWrap(True)
  
        # adding action to the push button
        push.clicked.connect(lambda: label.setText("Dock Widget's Push button pressed"))
  
  
  
  
  
  
  
# create pyqt5 app
App = QApplication(sys.argv)
  
# create the instance of our Window
window = Window()
  
# start the app
sys.exit(App.exec())

Output :

 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




My Personal Notes arrow_drop_up
Recommended Articles
Page :