QGridLayout
QGridLayout類將部件佈置在網格中。
user_label: (0, 0),第1行第1列
user_line: (0, 1),第1行第2列
pwd_label: (1, 0),第2行第1列
pwd_line: (1, 1),第2行第2列
# -*- coding: utf-8 -*-
"""
Created on Sat May 9 09:08:54 2020
@author: Giyn
"""
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QGridLayout
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.login_button = QPushButton("登錄", self)
self.sign_button = QPushButton("註冊", self)
self.g_layout = QGridLayout() # 實例化一個QGridLayout對象
self.g_layout.addWidget(self.user_label, 0, 0)
self.g_layout.addWidget(self.user_line, 0, 1)
self.g_layout.addWidget(self.pwd_label, 1, 0)
self.g_layout.addWidget(self.pwd_line, 1, 1)
self.g_layout.addWidget(self.login_button, 2, 0)
self.g_layout.addWidget(self.sign_button, 2, 1)
self.setLayout(self.g_layout) # 調用窗口的setLayout方法將總佈局設置爲窗口的整體佈局
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Simple_Window()
window.show()
sys.exit(app.exec())