본문 바로가기
728x90
반응형

Python/PySide PyQt15

[PySide] QItemSelectionModel 살펴보기 - 작성중 QItemSelectionModel은 Qt Model-View Architecture에서 selection 을 관리하는 클래스.QItemSelectionModel 개요from PySide6.QtCore import QItemSelectionModel, QModelIndexfrom PySide6.QtWidgets import QListView, QTableView, QTreeView# 모든 View는 자동으로 QItemSelectionModel을 가집니다view = QListView()selection_model = view.selectionModel() # QItemSelectionModel 인스턴스print(type(selection_model)) # 역할:현재 선택된 항목(current item.. 2025. 6. 4.
[PySide] CustomModel 구현을 통한 Model-View 이해 - 작성중 Qt Model-View Tutorial: QListView + QAbstractListModel 이해Qt에서는 복잡한 데이터 구조를 UI에 효율적으로 표현하고 조작하기 위해 모델-뷰(Model-View) Architecture를 채택함.이 문서에서는 그 개념을 정리하고, QAbstractListModel기반의 Custom Model과 QListView를 사용한 도서 관리 예제를 통해 실습해 봄.1. Qt의 Model-View Architecture : Qt의 Model-View Architecture 는 데이터(Model)와 사용자 인터페이스(View)를 명확히 분리하여 관리하는 구조임.이 구조는 재사용성과 유지보수성을 크게 높여주며, 특히 동적으로 변경되는 데이터 UI에 적합합니다.Model:데이터.. 2025. 6. 3.
[PySide6] QTreeView 와 QStandardItemModel, QStandardItem 0. Pre-requisites:0-0. Model-View Architecture란?QTreeView는 Qt의 Model-View Architecture 를 따름.이는 데이터(Model)와 그 표현(View)을 분리하는 디자인 패턴.Qt에서 Model-View Architecture는 다음의 요소로 구성됨:Model:데이터를 저장하고 관리: QStandardItemModelQAbstractItemModel의 subclass임.View:데이터를 사용자에게 시각적으로 표시: QTreeViewDelegate:개별 항목의 렌더링과 편집을 담당: QStyledItemDelegate2025.04.14 - [CE] - [Programming] MVC, MVVM, and Qt's MV [Programming] MVC.. 2025. 6. 2.
[PySide6] QWidget.setFocusPolicy(policy: Qt.FocusPolicy) PySide6의 포커스 정책 (FocusPolicy) : PySide6에서 QWidget 클래스의 setFocusPolicy() 메서드는 위젯이 키보드 포커스를 어떻게 받을지 결정함Method Signature : # QWidget 클래스의 메서드QWidget.setFocusPolicy(policy: Qt.FocusPolicy)여기서 policy는 다음에 설명된 Qt.FocusPolicy 열거형(Enum Type) 값 중 하나임.포커스 정책 종류 : Qt.NoFocus: 키보드 포커스를 받지 않음Qt.TabFocus: 탭 키로만 포커스 받음Qt.ClickFocus: 마우스 클릭으로만 포커스 받음Qt.StrongFocus: 탭 키와 마우스 클릭으로 포커스 받음Qt.WheelFocus: 탭 키, 마우스 클릭.. 2025. 5. 13.
[PySide6] Installing PySide6 (and Designer) on Windows (with Conda) 기존에 conda 가상환경에 다시 pip로 설치를 했었는데,conda를 25.1.1 로 업데이트하고 PySide6와 designer를 설치하니 제대로 설치가 됨. Prerequisiteconda : conda-forge 채널에서 설치.os : Windows11, 23H2 (22631.4751)Installconda create -n pyside6 -c conda-forge qt-main pyside6qt-main : Qt Framework의 핵심구성요소를 포함하는 패키지 (designer를 사용하려면 설치가 필수임)pyside6 : Qt Framework의 Python Binding. 2025.2.11 설치 당시 기본으로 설치되는 버전은 다음과 같음.qt-main : 5.15.15 (채널: conda-f.. 2025. 2. 11.
[PySide] Ex: Img Viewer. QListWidget and Matplotlib PySide를 사용하여 QListWidget과 Matplotlib 연동하기이 글에서는 PySide6를 사용하여 QListWidget과 Matplotlib를 이용하여 Image viewer를 만드는 방법을 설명함. 사용자는 디렉토리에서 PNG 파일을 선택하고선택한 이미지를 Matplotlib를 사용하여 표시할 수 있음. 예제 코드를 통해 이를 구현하는 방법을 단계별로 살펴보겠음.프로젝트 설정먼저 PySide6와 Matplotlib를 설치해야 함. 이를 위해 아래의 명령어를 실행하기 바람.pip install PySide6 matplotlib주요 클래스 및 메서드 소개ImageCanvas 클래스ImageCanvas 클래스는 Matplotlib의 FigureCanvasQTAgg를 상속하여 이미지를 표시하는 기.. 2024. 6. 4.
728x90
반응형