Python Qt PySide6/06 Layout
6.11 QScrollArea
6.11 QScrollArea
2025.12.03다양한 스크롤 UI 위젯(QScrollArea, QListWidget, QTextEdit)을 사용해 보고,이를 하나의 창에서 QTabWidget 으로 탭 구조로 통합해 보기 1. QScrollArea더보기# tab_scroll_area.pyfrom PySide6.QtWidgets import ( QWidget, QVBoxLayout, QScrollArea, QLabel, QPushButton)from PySide6.QtCore import Qtclass ScrollAreaTab(QWidget): def __init__(self, parent=None): super().__init__(parent) layout = QVBoxLayout(self) sel..
6.10 QTabWidget
6.10 QTabWidget
2025.12.031. QTabWidget 으로 탭이 있는 윈도우 만들기 더보기1. 구현 목표 QTabWidget 으로 탭이 있는 윈도우 만들기QLabel, QLineEdit, QPushButton 을 각각의 탭 내부에 QWidget 으로 구현레이아웃 사용하여 배치하기clicked.connect(...)를 이용해 시그널과 슬롯 연결하기클릭한 버튼 정보를 출력하는 슬롯 함수 2. 프로젝트 구조widget.pymain.py 2.1 기본 윈도우 & QApplication 만들기 from PySide6.QtWidgets import QApplicationfrom widget import Widgetimport sysif __name__ == "__main__": app = QApplication(sys.argv) ..
6.9 계산기 구현하기
6.9 계산기 구현하기
2025.12.031. 계산기 예제 준비하기더보기import sysfrom PySide6.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QGridLayoutfrom PySide6.QtCore import Qtclass CalculatorWindow(QWidget): def __init__(self): super().__init__() self.setWindowTitle("계산기") self.setMinimumSize(336, 541) # [1] 그리드 레이아웃 생성 layout = QGridLayout(self) layout.setSpacing(4) layout.set..
6.8 레이아웃 종합 예제
6.8 레이아웃 종합 예제
2025.12.031. 실습 예제더보기A. 구현 목표 텍스트 입력창은 넓게 늘어남버튼1은 공간을 가장 많이 차지함(stretch=2 적용)버튼2, 버튼3은 동일한 크기 B. 파일 구조widget.pymain.pyfrom PySide6.QtWidgets import QWidget, QLabel, QHBoxLayout, QVBoxLayout, QSizePolicy, QLineEdit, QPushButtonclass SizePolicyExample(QWidget): def __init__(self): super().__init__() self.setWindowTitle("사이즈 정책(SizePolicy) 및 스트레치 학습") C. SizePolicy(사이즈 정책) C.1 SizePoli..
6.7 주요 레이아웃 기능 살펴보기
6.7 주요 레이아웃 기능 살펴보기
2025.12.021. Stretch Factor 예제: 레이아웃 안의 남는 여유 공간을, 각 위젯에게 “어떤 비율로 나눠줄지” 결정하는 값더보기import sysfrom PySide6.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayoutclass StretchExample(QWidget): def __init__(self): super().__init__() self.setWindowTitle("Stretch Factor 예제") btn1 = QPushButton("버튼 1 (비율 1)") btn2 = QPushButton("버튼 2 (비율 2)") btn3 = QPushButton("버튼 ..
6.6 Nesting Layouts
6.6 Nesting Layouts
2025.12.021. 레이아웃 중첩(Nesting Layouts): 복잡한 화면은 레이아웃 안에 레이아웃을 또 넣어서 만든다.더보기import sysfrom PySide6.QtWidgets import ( QApplication, QWidget, QPushButton, QVBoxLayout, QHBoxLayout, QLabel)class NestedLayout(QWidget): def __init__(self): super().__init__() self.setWindowTitle("중첩 레이아웃 예제") self.resize(320, 220) # [0] 제목용 레이블 title_label = QLabel("빈 레이블에 출력") ..
6.5 QFormLayout
6.5 QFormLayout
2025.12.021. QFormLayout: 라벨 + 입력 필드 폼 레이아웃: “라벨 + 입력 위젯”을 2열 구조로 자동 배치해주는 레이아웃 공식문서더보기위젯 쌍(라벨—위젯) 기반 UI는 대부분 QFormLayout이 가장 깔끔합니다.QFormLayout은 2열 구조(레이블/위젯) 를 손쉽게 만들 수 있고,addRow("이름:", lineEdit) 처럼 문자열 + 위젯 조합도 가능.import sysfrom PySide6.QtWidgets import ( QApplication, QWidget, QPushButton, QLineEdit, QFormLayout)class FormExample(QWidget): def __init__(self): super().__init__() ..
6.4 QGridLayout
6.4 QGridLayout
2025.12.021. QGridLayout: 표(그리드) 레이아웃: 행/열로 위젯을 배치하는 2차원 레이아웃 공식문서더보기import sysfrom PySide6.QtWidgets import ( QApplication, QWidget, QPushButton, QGridLayout)class GridExample(QWidget): def __init__(self): super().__init__() b1 = QPushButton("One") b2 = QPushButton("Two") b3 = QPushButton("Three") b4 = QPushButton("Four") b5 = QPushButton("Five") la..
6.3 QVBoxLayout
6.3 QVBoxLayout
2025.12.021. QVBoxLayout: 세로 방향 레이아웃: 세로 방향 레이아웃 공식문서더보기import sysfrom PySide6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayoutclass VBoxExample(QWidget): def __init__(self): super().__init__() btn1 = QPushButton("One") btn2 = QPushButton("Two") btn3 = QPushButton("Three") layout = QVBoxLayout(self) layout.addWidget(btn1) layout.addWidget..
6.2 QHBoxLayout
6.2 QHBoxLayout
2025.12.021. QHBoxLayout: 가로 방향 레이아웃 공식문서더보기import sysfrom PySide6.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayoutclass HBoxExample(QWidget): def __init__(self): super().__init__() btn1 = QPushButton("One") btn2 = QPushButton("Two") btn3 = QPushButton("Three") layout = QHBoxLayout(self) # self에 바로 설치 layout.addWidget(btn1) layout.addWi..
6.1 레이아웃 살펴보기
6.1 레이아웃 살펴보기
2025.12.011. 레이아웃(Layout) 이란?더보기A. 레이아웃 (Layout) 의 사전적 정의 찾아보기 링크(책·정원·건물 등의) 레이아웃[배치]lay = 놓다, 배치하다, 펼치다out = 밖으로, 외부로, 완전히무언가를 펼쳐서 일정한 방식으로 정해진 구조에 따라 배열하다Layout = 무엇을 어떻게 배열해 놓은 구성/배치 상태 B. 레이아웃 (Layout) 의 역할GUI 화면에서 위젯(Button, Label, TextBox 등) 들을 어떻게 배치할 것인지 결정하는 시스템즉, 프로그램 창 안에어디에 놓을지(위치)어느 정도 크기로 놓을지(크기)창 크기가 바뀔 때 자동 정렬/리사이즈를 자동으로 관리하도록 해 주는 기능입니다. C. 구글에 Qt Widgets Layout 검색 결과 보기 D. 공식 링크 - 레이..
6. Layout