PyQt5 자습서 ⑤ 레이아웃 관리 시작

개시하다
지난번에 Qt의 시그널과 슬로트 동작을 시도해 봤다.
이번에는 layout 학급 도입에 관한 것이다.
컨텐트
qt의widget은 setGeometry(xpos, ypos, width, height) 방법을 가지고 있으며pixel 단위의 절대 좌표 위치를 설정합니다.
다음 예에서는 300x200 픽셀의 창이 (10,10) 위치에 표시됩니다.
layout.py
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

def window():
   app = QApplication(sys.argv)
   w = QWidget()

   b = QPushButton(w)
   b.setText("Hello World!")
   b.move(50,20)

   w.setGeometry(10,10,300,200)
   w.setWindowTitle("PyQt")
   w.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   window()
PushButton Widget은 창의 왼쪽에서 50픽셀, 위에서 20픽셀로 설정합니다.
그러나 윈도우의 사이즈 변경에 비해 단추의 사이즈는 변하지 않습니다.


이 경우layout 클래스를 사용하면 Wiget의 사이즈가 동적으로 변화하고 이동합니다.
그 반에 관한 총결산은 다음과 같다.
1. QBoxLayout: 위젯을 수직이나 수평으로 배열한 클래스.
(※ 파생류→QVBoxLayout: 수직 정렬, QHBoxLayout: 수평 정렬)
2.QGridLayout: 행과 열에 있는 메쉬 셀의 위치입니다.addWidget() 줄 수, 열 수를 지정하여 임의의widget을 추가할 수 있는 방법이 있습니다.
3. QFormLayout :??
최후
layout 클래스 내부에widget을 설정하면widget이 동적으로 변합니다.
창문이 넘칠 때 아래로 이동하는 동작이요?
나는 앞으로 계속 쓸 수 있었으면 좋겠다고 생각한다.
참고 자료

좋은 웹페이지 즐겨찾기