PyQt中QGridLayout詳解

網上對於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_())

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