5. PySide6
5강. QFormLayout
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__() ..
4강. QGridLayout
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..
3강. QVBoxLayout
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(btn2) ..
2강. QHBoxLayout
2강. QHBoxLayout
2025.12.021. QHBoxLayout: 가로 방향 레이아웃 공식문서더보기 1.1. 기본 구조 레이아웃에 버튼, 입력창과 같은 요소를 추가(addWidget)하여 구조를 만들고,이 구조를 화면 위젯에 지정(setWidget) 합니다.import sysfrom PySide6.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayoutclass HBoxExample(QWidget): def __init__(self): super().__init__() # 버튼 3개를 생성합니다. (widget에 등록된 상태가 아닙니다.) btn1 = QPushButton("One") btn2 = QPushButton("Two..
1강. 레이아웃 살펴보기
1강. 레이아웃 살펴보기
2025.12.010. 학습 목표더보기이번 단계에서는 PySide6에서 화면 위젯을 배치할 때 사용하는 레이아웃(Layout)의 개념을 학습합니다. GUI 프로그램에서는 버튼, 라벨, 입력창 같은 위젯을 화면에 보기 좋게 배치해야 합니다.이때 위젯의 위치와 크기를 직접 계산해서 배치할 수도 있지만, 창 크기가 바뀌거나 위젯이 추가되면 관리가 어려워집니다. Qt에서는 이런 문제를 해결하기 위해 레이아웃 시스템을 제공합니다.레이아웃은 부모 위젯 안에서 자식 위젯들의 위치와 크기를 자동으로 관리해 주는 구조입니다.학습 목표내용레이아웃 개념 이해Layout이 화면 구성과 위젯 배치를 의미한다는 점을 이해합니다.Qt 레이아웃 관리 이해부모 위젯 안에서 자식 위젯의 위치와 크기를 자동으로 관리하는 구조를 이해합니다.주요 레이아웃 종..
Layout
Layout
2025.12.01
6강. 다중 시그널/단일 슬롯
6강. 다중 시그널/단일 슬롯
2025.12.010. 학습 목표더보기이번 단계에서는 여러 Signal을 하나의 Slot에 연결하는 구조를 학습합니다. 앞의 3.5 단계에서는 하나의 Signal에 여러 Slot을 연결하는 구조를 살펴보았습니다.이번 단계에서는 반대로, 여러 위젯의 Signal을 하나의 Slot 함수에 연결하는 구조를 살펴봅니다. 예제에서는 QSlider와 QDial을 함께 사용합니다.슬라이더를 움직여도, 다이얼을 돌려도 같은 Slot 함수가 실행되도록 구성합니다.학습 목표내용다중 Signal / 단일 Slot 이해여러 Signal을 하나의 Slot 함수에 연결할 수 있음을 이해합니다.QSlider와 QDial 이해슬라이더와 다이얼이 모두 valueChanged(int) Signal을 발생시킬 수 있음을 이해합니다.공통 Slot 함수 구현..
5강. 단일 시그널/다중 슬롯
5강. 단일 시그널/다중 슬롯
2025.12.010. 학습 목표더보기이번 단계에서는 하나의 Signal에 여러 Slot을 연결하는 구조를 학습합니다. 앞에서는 QSlider의 valueChanged(int) Signal을 하나의 Slot 함수와 연결하고,사용자 정의 Signal을 만들어 값을 다시 전달하는 구조를 살펴보았습니다.이번 단계에서는 한 단계 더 나아가, 같은 Signal을 여러 Slot 함수에 동시에 연결해 봅니다. 예를 들어 슬라이더 값이 바뀌면 Label도 바뀌고, ProgressBar도 함께 바뀌게 만들 수 있습니다.또한 사용자 정의 Signal이 발생하면 처리된 값을 Label에도 표시하고, LCDNumber에도 표시할 수 있습니다.학습 목표내용단일 Signal / 다중 Slot 이해하나의 Signal에 여러 Slot 함수를 연결할 ..
4강. 사용자 정의 시그널 구현
4강. 사용자 정의 시그널 구현
2025.12.010. 학습 목표더보기이번 단계에서는 사용자 정의 Signal을 직접 만들어 사용하는 방법을 학습합니다. 이전 단계에서는QSlider의 valueChanged(int) Signal을 사용하여 슬라이더 값이 Slot 함수로 전달되는 구조를 살펴보았습니다. 이번 단계에서는한 단계 더 나아가, Slot 함수 안에서 값을 처리한 뒤 새로운 Signal을 직접 발생시키는 구조를 구현합니다. 즉, Qt가 미리 제공하는 Signal만 사용하는 것이 아니라,개발자가 필요한 목적에 맞게 Signal을 직접 정의하고 emit()으로 발생시키는 방법을 이해합니다.학습 목표내용사용자 정의 Signal 이해PySide6에서 개발자가 직접 Signal을 선언하는 방법을 이해합니다.Signal 선언 위치 이해Signal은 인스턴스 ..
3강. QSlider 값 전달 예제
3강. QSlider 값 전달 예제
2025.11.300. 학습 목표더보기이번 단계에서는 QSlider 슬라이더 위젯을 사용하여 Qt의 Signal / Slot 구조를 다시 살펴봅니다. 앞에서는 QPushButton을 기준으로 버튼 클릭 Signal을 학습했습니다.이번에는 슬라이더 값을 움직일 때 발생하는 valueChanged(int) Signal을 사용합니다. 핵심은 Signal / Slot 구조가 버튼에서만 사용되는 것이 아니라, 슬라이더 같은 다른 위젯에서도 동일하게 동작한다는 점입니다.학습 목표내용QSlider 이해슬라이더를 움직여 숫자 값을 조절하는 위젯 구조를 이해합니다.valueChanged(int) Signal 이해슬라이더 값이 변경될 때 int 값이 Signal로 전달되는 구조를 이해합니다.값 전달 구조 이해Signal이 발생하면서 값(D..
2강. Signal & Slot: 값(Data) 전달
2강. Signal & Slot: 값(Data) 전달
2025.11.300. 학습 목표더보기이번 단계에서는 Signal / Slot 구조에서 값(Data)이 전달되는 방식을 이해합니다. 이전 단계에서는 버튼을 클릭했을 때 clicked Signal이 발생하고, connect()로 연결된 Slot 함수가 실행되는 구조를 살펴보았습니다.이번 단계에서는 한 단계 더 나아가, Signal이 단순히 함수만 실행하는 것이 아니라 값을 함께 전달할 수 있다는 점을 학습합니다. 예제에서는 QPushButton을 체크 가능한 버튼으로 바꾸고, 버튼의 현재 체크 상태가 Slot 함수로 전달되는 흐름을 확인합니다.학습 목표내용값 전달 구조 이해Signal이 발생할 때 값(Data)을 Slot 함수에게 전달할 수 있음을 이해합니다.clicked(bool) Signal 이해QPushButton의 ..
1강. Signal & Slot: 구조 이해
1강. Signal & Slot: 구조 이해
2025.11.300. 학습 목표더보기이번 단계에서는 QPushButton 버튼 클릭을 기준으로 Qt의 Signal / Slot 구조를 이해합니다. Qt 프로그램에서는 사용자가 버튼을 클릭하거나, 키보드를 입력하거나, 창을 닫는 것처럼 다양한 동작이 발생합니다.이런 동작을 GUI 프로그램이 처리하려면 어떤 일이 발생했는지 알리고, 그 다음 어떤 함수를 실행할지 연결해야 합니다.Qt에서는 이 구조를 Signal / Slot이라고 부릅니다.학습 목표내용위젯과 함수 연결 이해버튼 위젯과 실행될 함수를 연결하는 구조를 이해합니다.Signal 개념 이해QPushButton에는 clicked라는 Signal이 미리 정의되어 있음을 이해합니다.Slot 개념 이해Signal이 발생했을 때 실행되는 함수를 Slot으로 이해합니다.conn..