3. PySide6
4강. 새 파일 열기
4강. 새 파일 열기
2025.12.071. 목표더보기 새 파일 메뉴를 눌렀을 때현재 문서가 수정되어 있다면 먼저 저장 여부를 묻고취소를 누르면 아무 일도 하지 않고계속 진행을 선택하면 에디터를 깨끗한 새 문서 상태로 초기화한다.저장 기능은 이전 단계에서 구현한 Qt 스타일 파일 저장 함수와(QFile, QIODevice, QDir, QTextStream 기반)인 save_file 을 재사용한다. 2. 전체 로직더보기# mainwindow.py from PySide6.QtWidgets import QMainWindow, QFileDialog, QMessageBoxfrom PySide6.QtCore import QFile, QIODevice, QDir, QTextStream from ui_form import Ui_MainWindow clas..
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) ..