3. PySide6
3강. 파일 저장하기
3강. 파일 저장하기
2025.12.071. 목표더보기메뉴/툴바의 [Save] 메뉴(actionSave) 를 클릭했을 때QFileDialog 로 경로를 선택하고,QFile + QIODevice + QTextStream 을 사용해서QTextEdit 의 내용을 텍스트 파일로 저장한다.Qt 파일 I/O 흐름을 익히고QTextStream 의 기본 인코딩이 UTF-8 이라는 점도 같이 이해한다.성공 / 실패 메시지를 보여준다. 아직은 “현재 파일 이름 기억하기”, “수정됨 표시” 같은 복잡한 부분은 생략하고, “일단 저장이 된다” 에만 집중하는 단계라고 생각하시면 좋습니다. 2. 전체 로직더보기# mainwindow.pyfrom PySide6.QtWidgets import QMainWindow, QFileDialog, QMessageBoxfrom Py..
2강. GUI - 메뉴 아이콘 구현
2강. GUI - 메뉴 아이콘 구현
2025.12.071. 리소스 .qrc 적용하고 확인하기더보기메뉴 아이콘 압축파일 메뉴 아이콘 파일을 프로젝트에 옮기고, .qrc 리소스 파일 확인하기 .qrc 리소스 파일 등록하기 Qt 디자이너에서 아이콘 리소스 설정하는 방법 2. File 메뉴에 리소스 적용더보기 3. Format 메뉴에 리소스 적용더보기 4. About 메뉴에 리소스 적용더보기 5. 텍스트 입력창 추가더보기 6. 메뉴 툴바 추가더보기 단계별 완성 파일 더보기
1강. GUI - 메뉴 구현
1강. GUI - 메뉴 구현
2025.12.071. 프로젝트 생성더보기프로젝트 생성시, QMainWindow 를 Base Class 로 선택합니다.main.py 를 시작 파일로 설정합니다. Qt for Python 프로젝트 생성 Qt for Python 프로젝트 생성1. Qt for Python 템플릿으로 프로젝트 생성더보기 2. 실행 테스트더보기basiclike.tistory.com Qt for Python 시작 파일 설정 Qt for Python 시작 파일 설정1. Qt for Python 초기 설정더보기1. 현재 상황:qt for python 프로젝트를 실행하면→ main.py가 아니라 widget.py가 시작 파일로 설정되어 있음구조와 유지보수, 교육 측면에서는 main.py를 시작 파일로 두는basiclike.tistory.com ..
메모장 구현 프로젝트
메모장 구현 프로젝트
2025.12.07
Model - View
Model - View
2025.12.04
3강. Custom Widget
3강. Custom Widget
2025.12.041. 학습 목표더보기 (1) Qt 리소스(qrc → py) 시스템 이해 이미지 파일을 프로그램 내부에 포함하는 방법:/res/normal 와 같은 리소스 경로 사용 방법(2) Custom Widget 설계 원리 이해QWidget을 상속하여 자신만의 위젯 만들기paintEvent()에서 직접 이미지를 그리는 기법 2. 프로젝트 구조 만들기 더보기CustomImageButtonDemo/ ├─ res # Qt 리소스 정의 파일 ├─ res.qrc # 리소스 컴파일 결과 (프로그램 내 포함됨) ├─ res.py # pyside6-rcc로 컴파일된 리소스 파이썬 파일 ├─ image_button.py # 커스텀 위젯(Image..
2강. Resource - Qt
2강. Resource - Qt
2025.12.031. 리소스 사용 예제더보기1. Qt for Python 프로젝트 생성 Qt for Python 프로젝트 생성1. Qt for Python 템플릿으로 프로젝트 생성더보기 2. 실행 테스트더보기basiclike.tistory.com 2. 버튼 2개가 포함된 GUI 구현 3. 리소스 파일 생성 4. prefix 추가 5. 리소스 파일에 이미지 파일 추가 6. alias(별칭) 등록 7. Widget.py 구현from PySide6.QtGui import QIconimport rc_rsc # 실제 프로젝트의 이미지 파일 경로를 복사해서 붙여넣고 비교 self.ui.pushButton.setIcon(QIcon("C:/Dev/qt-pyside6-demo..
1강. Resource - PyCharm
1강. Resource - PyCharm
2025.12.031. GUI 프로그램에서 리소스란?더보기1. 프로그램 내부에서 사용하는 외부 파일들의 집합리소스 예시이미지 파일 (PNG, JPG)아이콘 (ICO, SVG)스타일시트(.qss)UI 템플릿(.html, .json 등)소리(.wav, .mp3)글꼴(.ttf)이런 것들을 통칭해서 리소스(Resource) 라고 부릅니다. 2. 왜 리소스가 필요한가? GUI 프로그램에서는 다음이 필요합니다:버튼 아이콘메뉴 아이콘배경 그림로딩 이미지설정 초기값 템플릿 등이걸 파일로 두면 편하지만, 예를 들어 Windows에서 myapp.exe 만 배포하고 싶은데외부에 이미지가 다음처럼 있으면myapp.exeres/ #폴더명 new.png #리소스파일 open.png save.png배포할 때 폴더를 추가로 실행 파일..
Resource
Resource
2025.12.03
11강. QScrollArea
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..
10강. QTabWidget
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) ..
9강. 계산기 구현하기
9강. 계산기 구현하기
2025.12.030. 학습 목표더보기이번 4.9 단계에서는 PySide6의 QGridLayout을 사용하여 계산기 화면을 구현합니다. 계산기는 여러 개의 버튼을 행과 열에 맞춰 배치해야 하므로,QHBoxLayout이나 QVBoxLayout보다 QGridLayout을 사용하는 것이 자연스럽습니다. 이번 학습에서는(1)먼저 버튼을 직접 하나씩 배치한 뒤, 2차원 리스트와 반복문을 사용해 코드를 개선하고,(2) 마지막으로 덧셈 기능만 구현해 봅니다. 학습 목표내용계산기 화면 구조 이해결과 표시 영역과 여러 줄의 버튼 영역으로 계산기 화면을 나누어 이해합니다.QGridLayout 배치 이해버튼을 row, column 기준으로 배치하는 방법을 이해합니다.span 구조 이해결과 라벨을 4개 열에 걸쳐 배치하는 rowSpan, co..