網上對於QGridLayout的說明, 太弱了, 在日文站點找到一個好例子, 以後可選擇QGridLayout, 畢竟vbox,hbox想實現精確定位太難了,
原文出處: https://qiita.com/Nobu12/items/81da82b8b984bf54f0a0
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit,
QTextEdit, QGridLayout, QApplication)
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
title = QLabel('Title')
author = QLabel('Author')
review = QLabel('Review')
titleEdit = QLineEdit()
authorEdit = QLineEdit()
reviewEdit = QTextEdit()
# 格子狀の配置を作り、各ウィジェットのスペースを空ける
grid = QGridLayout()
grid.setSpacing(10)
# ラベルの位置設定
grid.addWidget(title, 1, 0)
# 入力欄の位置設定
grid.addWidget(titleEdit, 1, 1)
grid.addWidget(author, 2, 0)
grid.addWidget(authorEdit, 2, 1)
grid.addWidget(review, 3, 0)
grid.addWidget(reviewEdit, 3, 1, 5, 1)
self.setLayout(grid)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('Review')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())