PySide6로 Python 기반 Qt Widgets 앱을 만드는 무료 책 *PySide6 Blueprints*가 공개됐다. 설치와 위젯 배치부터 모델·뷰 프로그래밍, 멀티스레딩, 데이터베이스까지 다루며 부록에는 PySide6 도구와 모듈 참고 자료도 담겼다.
- 머리말
- 제1부 기초
- 1장 시작하기: 설치, 재사용 가능한 시작점, 창에 위젯 추가하기, Qt 문서 읽기, Qt Widgets 안내
- 2장 시그널과 슬롯: 시그널을 슬롯에 연결하기, 슬롯에 인수 전달하기
- 3장 Qt Widgets 레이아웃: 위젯을 세로로 쌓기(
QVBoxLayout), 나란히 배치하기(QHBoxLayout), 레이아웃 중첩하기, 그리드에 배치하기(QGridLayout), 폼 배치하기(QFormLayout) - 제2부 Qt Widgets 도구 모음
- 4장 표시 위젯:
QLabel로 텍스트 표시하기,QLabel로 이미지 표시하기,QLCDNumber로 LCD 형태의 숫자 표시하기,QProgressBar로 진행 상태 표시하기 - 5장 버튼:
QPushButton으로 동작 실행하기, 켜짐·꺼짐 상태를 유지하는 체크 가능한QPushButton, 독립적인 선택 항목을 위한QCheckBox, 서로 배타적인 선택을 위한QRadioButton, 그룹을 명시적으로 관리하는QButtonGroup - 6장 숫자 위젯:
QSpinBox,QDoubleSpinBox,QSlider,QDial - 7장 텍스트 위젯:
QLineEdit,QTextEdit,QPlainTextEdit - 8장 목록 위젯:
QComboBox,QListWidget,QListView - 9장 표 위젯:
QTableWidget,QTableView - 10장 트리 위젯:
QTreeWidget,QTreeView, 지연 로딩 트리 - 11장 컨테이너:
QGroupBox,QScrollArea,QToolBox,QTabWidget,QSplitter, 컨테이너 선택하기 - 12장 메인 윈도우: 중앙 위젯 설정하기, 상태 표시줄 추가하기, 메뉴와 동작 만들기, 도구 모음 추가하기, 도킹 위젯 사용하기
- 13장 대화상자:
QMessageBox로 표준 메시지 대화상자 만들기,QInputDialog로 입력 대화상자 만들기,QFileDialog로 파일 대화상자 만들기,QColorDialog로 색 선택하기,QFontDialog로 글꼴 선택하기,QDialog를 서브클래싱해 사용자 지정 대화상자 만들기 - 14장 Qt 스타일 사용자 지정: 스타일 시스템,
QPalette와 색상 역할,QProxyStyle로 메트릭과 힌트 재구현하기, 원시 요소·컨트롤·복합 컨트롤,drawControl()재구현하기 - 15장 Qt 스타일 시트(QSS): 선택자 유형, 속성, 의사 상태, 하위 컨트롤, 박스 모델
- 16장 사용자 지정 위젯 만들기:
QWidget서브클래싱으로 최소TagBar만들기, QPainter와paintEvent()로 태그 그리기, 이벤트 처리하기, 흐름 레이아웃·크기 힌트·레이아웃 통합 - 제3부 Qt 객체 모델
- 17장 객체 트리와 소유권: 부모·자식 관계, Qt 객체의 부모 재지정, Qt 객체의 자식 찾기, 수동 소유권 이전, 자동 삭제
- 18장 시그널과 슬롯 자세히 보기: 흔한 함정, 사용자 지정 시그널, 시그널 차단, 연결 객체, 하나의 시그널에 여러 슬롯 연결하기, 연결 해제하기
- 19장 이벤트: 이벤트 핸들러, 객체 이벤트 필터, 애플리케이션 전체 이벤트 필터, 이벤트 전파, 사용자 지정 이벤트, 이벤트 전달 순서
- 20장 타이머: 단발 타이머, 타이머 시작과 중지, 타이머 간격 조정, 카운트다운 타이머, 스톱워치
- 21장 속성: 기본 속성 선언, 속성 알림과 초기화, 상수 및 저장되지 않는 속성, 유효성 검사 기반 스타일 지정을 위한 동적 속성, 사용자 지정 속성 애니메이션,
QMetaObject로 속성 검사하기 - 제4부 모델·뷰 프로그래밍
- 22장
QAbstractListModel: 읽기 전용 목록 모델, 편집 가능한 목록 모델, 데이터와 위젯 매핑, 크기 조정 가능한 목록 모델 - 23장
QAbstractTableModel: 기본 읽기 전용 표 모델, 표 모델 편집 가능하게 만들기, 표 모델에 데이터 위젯 매퍼 사용하기, 크기 조정 가능한 표 모델 - 24장
QAbstractItemModel: 기본 읽기 전용 단일 열 트리 모델, 트리 모델에 여러 열 추가하기, 트리 모델 편집 가능하게 만들기, 크기 조정 가능한 트리 모델(노드 삽입과 제거), 모델 유형별 최소 구현 메서드, 적절한 모델과 뷰 선택하기 - 25장 델리게이트: 항목 데이터 역할로 표시 사용자 지정하기,
QItemEditorFactory에 표준 위젯 등록하기,QItemEditorFactory에 사용자 지정 위젯 등록하기,QStyledItemDelegate에서 사용자 지정 표시 구현하기,QStyledItemDelegate에서 사용자 지정 편집기 구현하기, 델리게이트에서 표시와 편집 결합하기, 뷰의 영구 편집기 - 26장 정렬·필터링·선택: 사용자 지정 모델에서 제자리 정렬 구현하기, 사용자 지정 모델에서 비파괴 정렬하기, 데이터 변경 시 자동 정렬하기, 프록시 모델로 정렬하기, 프록시 모델로 기본 필터링하기, 프록시 모델에서 사용자 지정 필터링하기, 선택 모드와 동작, 선택 변경에 대응하기, 여러 뷰에서 선택 모델 공유하기, 사용자 지정 선택 처리
- 제5부 멀티스레딩
- 27장 작업자 객체와
moveToThread: Qt GUI를 막는 잘못된 방법, 최소 동작 예제, 파일 시스템 탐색하기,QThread객체 재사용하기,QThread를 재사용하며 파일 시스템 탐색하기, 스레드 간 시그널과 슬롯 - 28장
QThread서브클래싱: 최소 예제, 파일 시스템 탐색하기 - 29장
QThreadPool과QRunnable: 최소 예제, 파일 시스템 탐색하기 - 30장 스레드 동기화: 경쟁 상태 데모, 대기열 방식 시그널·슬롯 연결,
QMutex,QMutexLocker,QSemaphore,QSemaphoreReleaser,QWaitCondition - 31장 실제 상황에서의 타이머:
QElapsedTimer로 경과 시간 측정하기,QDeadlineTimer로 마감 시간 기반 대기하기,QTimer로 사용자 입력 디바운싱하기,QTimer로 빠른 업데이트 제한하기, 저수준 타이머인QObject.startTimer()와QBasicTimer - 32장 시그널과 슬롯 연결 유형: 직접 연결, 대기열 연결, 대기열 차단 연결, 고유 연결, 단발 연결
- 제6부 특별 주제
- 33장 데이터베이스: 데이터베이스 연결, 간단한 쿼리 실행하기, 데이터 삽입하기,
QSqlTableModel로 데이터 표시 및 편집하기,QSqlRelationalTableModel로 관계형 데이터 처리하기,QSqlQueryModel로 사용자 지정 쿼리 처리하기, 단일 레코드 폼, 마스터·세부 정보 폼 - 34장 프로세스: 기본 프로세스 실행, 프로세스에 고정 입력 제공하기, 청크 단위 출력 처리의 흔한 함정, 대화형 프로세스 통신, 프로세스 환경 설정, 동기식 프로세스 실행, 프로세스 종료하기
- 35장 그래픽 뷰 프레임워크: 캔버스인
QGraphicsScene과QGraphicsView, 내장 그래픽 항목으로 보드 채우기, 사용자 지정QGraphicsItem그리기, 상호작용과 이벤트로 항목 선택하기, 항목 변환으로 크기 조정하기 - 36장 애니메이션 프레임워크:
QPropertyAnimation기초, 색상·기하 구조·불투명도 애니메이션, 이징 곡선, 순차 애니메이션 그룹, 병렬 애니메이션 그룹, 애니메이션 일시 중지 - 부록: A. PySide6 도구 참고 자료, B. PySide6 모듈, C. 입력 위젯을 데이터 유형별로 그룹화하기
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요