布局管理


布局概念:

布局的方式:

布局管理器的简单使用:

from PyQt5.Qt import * #刚开始学习可以这样一下导入
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QMessageBox的学习")
        self.resize(400,400)
        self.set_ui()


    def set_ui(self):
        label1= QLabel("标签1",self)
        label1.setStyleSheet("background-color:red;")
        label2= QLabel("标签2",self)
        label2.setStyleSheet("background-color:green;")
        label3= QLabel("标签3",self)
        label3.setStyleSheet("background-color:yellow;")

        #布局管理器实现方式
        v_layout = QVBoxLayout()  #垂直布局管理器
        v_layout.addWidget(label1)
        v_layout.addWidget(label2)
        v_layout.addWidget(label3)

        self.setLayout(v_layout)

        timer = QTimer(self)
        timer.timeout.connect(lambda :label1.setText(label1.text()+"Hello\n"))
        timer.start(1000)  #1s

if __name__ == '__main__':
    app =QApplication(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())

布局管理器概念:

布局的简单使用演示:

 要注意,标签就不需要设置父控件了,在布局管理器中会自动设置的。

布局管理器的详细使用:

首先看两个基类:QLayout  和 QBoxLayout  

QLayout:

QBoxLayout: