Python+PyQt5:停靠组件QDockWidget的实现

QMainWindow主窗体中放置停靠组件QDockWidget的实现流程:

第一步:创建QMainWindow窗体,这是承载QDockWidget的主体

第二步:创建QDockWidget组件实例,设置停靠位置和显示特征,如是否允许浮动和自由移动位置

第三步:因为QDockWidget创建时是空的一个组件,必须在上面放置其他的GUI控件,因此必须将需要的控件组合放置在一个QWidget中,再将GWidget捆绑到QDockWidget中

第四步:利用QMainWindow的addDockWidget方法,将创建的QDockWidget捆绑至主窗体中

 

 完整代码实现如:

 1 class MainWindows(QtWidgets.QMainWindow): # 创立主窗口,继承QMainWindow类
 2     
 3     def __init__(self):
 4         super(MainWindows, self).__init__()   # 显性调用父类构造函数
 5         self.setWindowTitle("QtDockWidgets demo")
 6         aw = CreateWidget()    # 创建一个准备放入dockwidget的窗体控件
 7         self.CreateDockWidget(aw)   # 创建dock,并将上一步创建的QWidget放入dock中
 8         
 9 
10     def CreateDockWidget(self, widget):  # 定义一个createDock方法创建一个dockwidget
11         dock = QtWidgets.QDockWidget("selectQuote")  # 实例化dockwidget类
12         dock.setWidget(widget)   # 带入的参数为一个QWidget窗体实例,将该窗体放入dock中
13         dock.setObjectName("selectQuote")
14         dock.setFeatures(dock.DockWidgetFloatable|dock.DockWidgetMovable)    #  设置dockwidget的各类属性
15         self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock)  # 设置dockwidget放置在QMainWindow中的位置,并且将dockwidget添加至QMainWindow中

运行代码,调用主窗口:

1     app = QtWidgets.QApplication(sys.argv)
2      
3     aw = MainWindows()
4     aw.showMaximized()
5     
6     app.exec_()

 

 

 

 

 

 

 

 

 

 

 

 

 

 


posted @ 2016-10-04 21:10  老牛一逼了  阅读(7282)  评论(0编辑  收藏  举报