티스토리 뷰

이 글은 Codetorial의 PyQt5, 초보자를 위한 Python GUI 프로그래밍-PyQt5 등을 학습하는 과정을 기록한 것이다. 강좌 자체는 해당 사이트를 참고하기 바란다.

그리드 레이아웃은 가장 일반적인 레이아웃이다. 화면이 엑셀처럼 동일한 크기의 격자로 구획되어 있는 것으로 간주된다. 각 위젯은 행과 열로 지정되는 지점(엑셀의 셀)에 놓인다. 위젯의 크기가 균일할 경우에는 깔끔한 레이아웃이 되겠지만 위젯의 크기가 다양하다면 지저분해 보일 위험도 있을 것이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QGridLayout, QLabel, QLineEdit, QTextEdit)
 
 
class MyApp(QWidget):
 
    def __init__(self):
 
        super().__init__()
        self.initUI()
 
 
    def initUI(self):
 
        # 그리드 레이아웃을 생성한다.
        grid = QGridLayout()
        # 창의 레이아웃을 그리드로 설정한다.
        self.setLayout(grid)
 
        # 그리드 안에 라벨 위젯을 추가하면서 행과 열을 지정한다.
        grid.addWidget(QLabel('Title:'), 00)
        grid.addWidget(QLabel('Author:'), 10)
        grid.addWidget(QLabel('Review:'), 20)
 
        # 그리드 안에 라인에디터 위젯을 추가하면서 행과 열을 지정한다.
        grid.addWidget(QLineEdit(), 01)
        grid.addWidget(QLineEdit(), 11)
        grid.addWidget(QLineEdit(), 21)
 
        self.setWindowTitle('QGridLayout')
        self.setGeometry(300300300200)
        self.show()
 
 
if __name__ == '__main__':
 
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())
 
cs

결과

2019/11/10 - [Python/PyQt5] - PyQt5: 박스 레이아웃(QBoxLayout)

2019/11/10 - [Python/PyQt5] - PyQt5: 위젯의 배치: 절대적 배치(Absolute Positioning)


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
05-19 01:37