zoukankan      html  css  js  c++  java
  • 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_()
    
    
  • 相关阅读:
    flutter-常见的基础组件(一)
    flutter-dart语言初识
    从零开始配置安装Flutter开发环境
    vue路由vue-router
    css秘密花园一
    mvvm实现一个简单的vue
    js常见的设计模式一
    es6 generator函数的异步编程
    es6 async和await
    模块--random
  • 原文地址:https://www.cnblogs.com/laoniubile/p/5929803.html
Copyright © 2011-2022 走看看