티스토리 뷰

이 글은 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
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton
 
 
class MyApp(QWidget):
 
    def __init__(self):
 
        super().__init__()
        self.initUI()
 
 
    def initUI(self):
 
        # 두 개의 라벨과 두 개의 버튼을 생성한다.
        label1 = QLabel('Label1', self)
        label2 = QLabel('Label2', self)
        btn1 = QPushButton("Button1", self)
        btn2 = QPushButton("Button2", self)
 
        # 각메서드 move()를 이용하여 각 인스턴스의 위치를 잡는다.
        # x 좌표는 왼쪽에서 오른쪽으로 갈수록, y 좌표는 위에서 아래로 갈수록 커집니다.
        label1.move(2020)
        label2.move(2060)
        btn1.move(8013)
        btn2.move(8053)
 
        self.setWindowTitle('Absolute Positioning')
        self.setGeometry(300300400200)
        self.show()
 
 
if __name__ == '__main__':
 
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())
 
cs

절대적 배치의 특징과 한계는 아래와 같다.

  • 창의 크기를 조절해도 위젯의 크기와 위치는 변하지 않는다.
  • 다양한 플랫폼에서 어플리케이션이 다르게 보일 수 있다.
  • 어플리케이션의 폰트를 바꾸면 레이아웃이 망가질 수 있다.
  • 레이아웃을 바꾸고 싶다면 완전히 새로 고쳐야 하며, 이는 매우 번거롭다.

결과

2019/11/10 - [Python/PyQt5] - PyQt5: 그리드 레이아웃(QGridLayout)

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


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
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
글 보관함
11-26 00:00