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_()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM