Python - PySide6
9. Notepad
9. Notepad
2025.12.07
8.8 QFile - Step 5
8.8 QFile - Step 5
2025.12.061. 학습 목표더보기학습 로드맵:Step 1 QFile.open() & QIODevice 플래그 이해하기Step 2 콘솔에서 QFile 맛보기 (순수 Python 스크립트)Step 3 PySide6 GUI 프로젝트 만들기 & 기본 창 띄우기Step 4 GUI에서 “파일 쓰기/읽기” 버튼 구현✅ Step 5 파일 복사 기능까지 확장 완성 파일: 이 단계에서 목표는:GUI에서 “파일 복사” 버튼을 눌렀을 때,원본 경로(line_src) → 대상 경로(line_dst)로 파일을 복사QFile.exists() 로 원본/대상 존재 여부 확인대상 파일이 이미 있을 때, 덮어쓰기 여부를 묻는 대화상자 띄우기QFile.copy() 의 동작 특성 이해(대상 파일이 이미 존재하면 실패하는 점 등)오류 상황별로 QMes..
08.7 QFile - Step 4
08.7 QFile - Step 4
2025.12.061. 학습 목표더보기학습 로드맵:Step 1 QFile.open() & QIODevice 플래그 이해하기Step 2 콘솔에서 QFile 맛보기 (순수 Python 스크립트)Step 3 PySide6 GUI 프로젝트 만들기 & 기본 창 띄우기 ✅ Step 4 GUI에서 “파일 쓰기/읽기” 버튼 구현Step 5 파일 복사 기능까지 확장 파일: 이 단계에서 목표는:Step 3에서 만든 GUI 골격에 QFile 로직을 실제로 연결[파일에 쓰기] 버튼 → QFileDialog.getSaveFileName() + QFile + QTextStream[파일에서 읽기] 버튼 → QFileDialog.getOpenFileName() + QFile + QTextStream한글 텍스트도 안전하게 읽고/쓰기파일 선택 취소,..
8.6 QFile - Step 3
8.6 QFile - Step 3
2025.12.061. 학습 목표더보기학습 로드맵:Step 1 QFile.open() & QIODevice 플래그 이해하기Step 2 콘솔에서 QFile 맛보기 (순수 Python 스크립트) ✅ Step 3 PySide6 GUI 프로젝트 만들기 & 기본 창 띄우기Step 4 GUI에서 “파일 쓰기/읽기” 버튼 구현Step 5 파일 복사 기능까지 확장 파일: 이 단계에서 목표는:콘솔에서 연습한 QFile 로직을 나중에 붙일 수 있는 “파일 편집기 & 복사 도구”용 GUI 틀만 먼저 만드는 것입니다.(아직 QFile 로직은 안 붙이고, UI 골격만 완성) 2. 프로젝트 구조더보기QFileGuiDemo/ ├─ main.py # 프로그램 진입점 └─ file_widget.py # 메인 윈도우..
8.5 QFile - Step 2
8.5 QFile - Step 2
2025.12.061. 학습 목표더보기학습 로드맵:Step 1 QFile.open() & QIODevice 플래그 이해하기 ✅ Step 2 콘솔에서 QFile 맛보기 (순수 Python 스크립트)Step 3 PySide6 GUI 프로젝트 만들기 & 기본 창 띄우기Step 4 GUI에서 “파일 쓰기/읽기” 버튼 구현Step 5 파일 복사 기능까지 확장이 단계에서 목표는:QFile 이 어떤 역할을 하는지 감 잡기QFile.open() 의 열기 모드 플래그 사용법 이해QTextStream 으로 텍스트를 읽고/쓰는 기본 패턴 익히기내장 open() 이 아니라 QFile 을 쓰는 Qt스럽게 파일 다루는 방법 맛보기아직 GUI 없이, 콘솔 파이썬 스크립트에서만 연습 3. 콘솔에서 파일 쓰기 (Write) 더보기# write.pyf..
8.4 QFile - Step 1
8.4 QFile - Step 1
2025.12.061. 학습 목표더보기학습 로드맵: ✅ Step 1 QFile.open() & QIODevice 플래그 이해하기Step 2 콘솔에서 QFile 맛보기 (순수 Python 스크립트)Step 3 PySide6 GUI 프로젝트 만들기 & 기본 창 띄우기Step 4 GUI에서 버튼 구현Step 5 파일 복사 기능까지 확장이 단계에서 목표는:QFile.open() 이 어떤 역할을 하는지 이해왜 파이썬 내장 open() 대신, Qt 의 QFile 을 사용하는지 감 잡기QFile.open() 사용할 때, QIODevice 플래그의 의미와 조합 방식 이해각 플래그 조합이 Python 내장 open() 의 어떤 모드와 대응되는지 알기Qt 기반 GUI 프로그램에서 QFile 이 왜 더 적합한지 이해 2. QFile 을 사..
파이참 시작 파일 설정
파이참 시작 파일 설정
2025.12.05Run/debug configurations | PyCharm Documentation Run/debug configurations | PyCharm www.jetbrains.com
7.3 Model/View 구조
7.3 Model/View 구조
2025.12.051. 학습 목표더보기1. 지난 포스트(6.11 QScrollArea)에서 문제 확인 6.11 QScrollArea다양한 스크롤 UI 위젯(QScrollArea, QListWidget, QTextEdit)을 사용해 보고,이를 하나의 창에서 QTabWidget 으로 탭 구조로 통합해 보기 1. QScrollArea더보기# tab_scroll_area.pyfrom PySide6.QtWidgets import ( QWidget, QVBoxLayobasiclike.tistory.com1.1 QScrollArea 기반 탭라벨을 직접 content_layout.addWidget(label) 형태로 추가→ 데이터가 GUI 위젯 안에 저장됨→ 다른 View와 데이터 공유 불가1.2 QListWidget 기반 탭self...
7.2 Model/View 구조
7.2 Model/View 구조
2025.12.051. 학습 목표더보기2개의 뷰(QTreeView/QListView) 1개의 모델(QFileSystemModel) 사용 구조 이해QFileSystemModel이 “모델(Model)” 역할을 하며,실제 파일/폴더 데이터는 여기에만 저장된다는 점 이해하기QTreeView, QListView는 “뷰(View)”로서모델의 데이터를 “각자의 방식으로” 보여줄 뿐이라는 점 이해하기하나의 Model 을 여러 View가 공유할 수 있고,선택/루트 인덱스만 바꿔서 다른 화면 효과를 낼 수 있다는 것 체감하기트리에서 선택된 폴더에 따라 다른 뷰의 내용에 반영되는 동작을 통해“같은 모델, 다른 View, 다른 표현” 구조를 익히기 2. 프로젝트 구조 만들기더보기2View1Model_Demo/ ├─ main.py ..
7.1 Model/View 구조
7.1 Model/View 구조
2025.12.041. 학습 목표더보기Model/View 기본 관계 이해Model = 데이터 저장소View = 데이터를 화면에 보여주는 역할(참고) 4.2 의존성 문제 2. 문제 파악: 6.11 QScrollArea 예제에서 문제 파악더보기1. 지난 포스트(6.11 QScrollArea)에서 문제 확인 6.11 QScrollArea다양한 스크롤 UI 위젯(QScrollArea, QListWidget, QTextEdit)을 사용해 보고,이를 하나의 창에서 QTabWidget 으로 탭 구조로 통합해 보기 1. QScrollArea더보기# tab_scroll_area.pyfrom PySide6.QtWidgets import ( QWidget, QVBoxLayobasiclike.tistory.com1.1 QScrollArea ..
7. Model - View
7. Model - View
2025.12.04
8.3 Custom Widget
8.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..