• PyQt5中的布局管理-QSplitter


    PyQt还提供了一个特殊的布局管理器QSplitter,它可以动态地拖动子控件之间的边界,算是一个动态的局部管理器。

    QSplitter允许用户通过拖动子控件的边界来控制子控件的大小,并提供了一个处理拖曳子控件的控制器。

    在QSplitter对象中各子控件默认是横向布局的,可以使用Qt.Vertical进行垂直布局。

    QSplitter类中的常用方法:

      addWidget()    将小控件添加到QSplitter管理器的布局中

      indexOf()      返回小控件在QSplitter管理器中的索引

      insertWidget()   根据指定的索引将一个控件插入到QSplitter管理器中

      setOrientation()   设置布局方向:

                 Qt.Horizontal,水平方向

                 Qt.Vertical,垂直方向

      setSizes()     设置控件的初始大小

      count()      返回小控件在QSplitter管理器中的数量

    import sys
    from PyQt5.QtWidgets import QWidget, QApplication, QHBoxLayout, QFrame, QSplitter, QTextEdit
    from PyQt5.QtCore import Qt
    
    
    class MyWindow(QWidget):
        def __init__(self):
            super().__init__()
            self.initUI()
    
        def initUI(self):
            hbox = QHBoxLayout(self)
            self.setWindowTitle("QSplitter例子")
            self.setGeometry(300, 300, 300, 200)
    
            topleft = QFrame()
            topleft.setFrameShape(QFrame.StyledPanel)
            bottom = QFrame()
            bottom.setFrameShape(QFrame.StyledPanel)
    
            splitter1 = QSplitter(Qt.Horizontal)
            textedit = QTextEdit()
            splitter1.addWidget(topleft)
            splitter1.addWidget(textedit)
            splitter1.setSizes([100, 200])
    
            splitter2 = QSplitter(Qt.Vertical)
            splitter2.addWidget(splitter1)
            splitter2.addWidget(bottom)
            hbox.addWidget(splitter2)
            self.setLayout(hbox)
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = MyWindow()
        win.show()
        sys.exit(app.exec_())
  • 相关阅读:
    面向对象七大基本原则
    JS面向对象的七大基本原则(里氏替换/依赖倒置)
    JS面向对象的七大基本原则(单一/开闭)
    flex均匀布局
    Vue在IDEA的简约安装
    事务及数据表设计
    关于序列化与反序列化
    SQL查询关键字用法
    IO流
    cookie与session
  • 原文地址:https://www.cnblogs.com/lynsha/p/13469901.html
Copyright © 2020-2023  润新知