【PyQt5】{4} —— 嵌套佈局

嵌套佈局

佈局管理器除了可以添加控件,還可以添加子佈局。

通常嵌套佈局有以下兩種方式:

# -*- coding: utf-8 -*-
"""
Created on Fri May  8 23:56:28 2020

@author: Giyn
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout, QHBoxLayout, QLineEdit


class Simple_Window(QWidget):
    def __init__(self):
        super(Simple_Window, self).__init__() # 使用super函數可以實現子類使用父類的方法
        self.setWindowTitle('登錄系統') # 設置窗口標題
        self.user_label = QLabel("用戶名:", self) # self是指定的父類Simple_Window,表示QLabel屬於Simple_Window窗口
        self.pwd_label = QLabel("密碼:", self)
        self.user_line = QLineEdit(self)
        self.pwd_line = QLineEdit(self)
        
        # 子佈局
        self.h1_layout = QHBoxLayout()
        self.h2_layout = QHBoxLayout()
        self.v_layout = QVBoxLayout() # 總佈局
        
        # 添加部件
        self.h1_layout.addWidget(self.user_label)
        self.h1_layout.addWidget(self.user_line)
        self.h2_layout.addWidget(self.pwd_label)
        self.h2_layout.addWidget(self.pwd_line)
        
        # 調用addLayout方法將兩個水平佈局添加到總的垂直佈局中
        self.v_layout.addLayout(self.h1_layout)
        self.v_layout.addLayout(self.h2_layout)
        
        self.setLayout(self.v_layout) # 調用窗口的setLayout方法將總佈局設置爲窗口的整體佈局
        
if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Simple_Window()
    window.show()
    sys.exit(app.exec())

Output:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章