절대적 배치(Absolute positioning) 방식은 각 위젯의 위치와 크기를 픽셀 단위로 설정해서 배치합니다.
두 개의 라벨과 두 개의 푸시 버튼 위젯을 절대적 배치 방식으로 배치해 봅니다.
12-1 예제: ex11
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) label1.move(20, 20) label2 = QLabel('Label2', self) label2.move(20, 60) btn1 = QPushButton('Button1', self) btn1.move(80, 13) btn2 = QPushButton('Button2', self) btn2.move(80, 53) self.setWindowTitle('Absolute Positioning') self.setGeometry(300, 300, 400, 200) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = MyApp() sys.exit(app.exec_()) |
12-2 설명
- 위젯의 위치를 설정하기 위해 move() 메서드를 사용합니다.
- 라벨과 푸시버튼의 x, y 좌표를 설정함으로서 위치를 조절합니다.
- 좌표는 왼쪽 상단 모서리에서 시작하므로 x 좌표는 왼쪽에서 오른쪽으로 갈 수록 커지고, y 좌표는 위에서 아래로 갈수록 커집니다.
label1 = QLabel('Label1', self) label1.move(20, 20) |
- 라벨을 하나 만들고 x = 20, y = 20 에 위치하도록 옮겨줍니다.
btn1 = QPushButton('Button1', self) btn1.move(80, 13) |
- 푸시버튼을 하나 만들고 x = 80, y = 13 에 위치하도록 옮겨줍니다.
12-3 결과
'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글
14. 그리드 레이아웃 (0) | 2021.07.23 |
---|---|
13. 박스 레이아웃 (0) | 2021.07.22 |
11. StyleSheet (스타일 꾸미기) (0) | 2021.07.22 |
10. 날짜와 시간 표시하기 (0) | 2021.07.22 |
9. 창을 화면의 가운데로 (0) | 2021.07.22 |