import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class demoQDockWidget(QMainWindow):
def __init__(self):
super(demoQDockWidget, self).__init__()
self.setWindowTitle("0505QDockWidget")
bar = self.menuBar()
file = bar.addMenu("&File")
file.addAction("New")
file.addAction("Save")
file.addAction("Quit")
self.subWindow = QDockWidget("Dockable", self)
self.listWidget = QListWidget()
self.listWidget.addItem("item1")
self.listWidget.addItem("item2")
self.listWidget.addItem("item3")
self.subWindow.setWidget(self.listWidget)
self.subWindow.setFloating(False)
self.setCentralWidget(QTextEdit())
self.addDockWidget(Qt.RightDockWidgetArea, self.subWindow)
layout = QHBoxLayout()
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
win = demoQDockWidget()
win.show()
sys.exit(app.exec_())