Q-dir 같은 파일/폴더작업 윈도우 관리 프로그램을 자주 사용한다.
직접 만들 수 있을 것 같다는 생각에 덤벼보는 프로젝트.
Q-Dir 유사 프로그램 클래스 명세
FileExplorerPane 클래스
설명
FileExplorerPane
은 개별 파일 탐색 창을 나타내는 클래스이다. 이 클래스는 파일 시스템 모델을 사용하여 파일과 디렉토리를 표시하고, 트리 뷰와 리스트 뷰 간 전환 기능을 제공한다.
주요 메서드
__init__(self, parent=None)
: 초기화 메서드. 파일 시스템 모델과 뷰를 설정한다.open_menu(self, position)
: 컨텍스트 메뉴를 생성하고 표시한다.delete_file(self)
: 선택된 파일을 삭제한다.rename_file(self)
: 선택된 파일의 이름을 변경한다.add_bookmark(self)
: 선택된 파일이나 폴더를 북마크에 추가한다.change_view(self, view_type)
: 트리 뷰와 리스트 뷰 간 전환한다.
속성
model
: QFileSystemModel 인스턴스tree
: QTreeView 인스턴스list
: QListView 인스턴스current_view
: 현재 활성화된 뷰 (tree 또는 list)bookmarks
: 북마크된 파일/폴더 경로 리스트
SearchWidget 클래스
설명
SearchWidget
은 파일 검색 기능을 제공하는 위젯 클래스이다. 검색어 입력 필드와 검색 버튼을 포함한다.
주요 메서드
__init__(self, model, parent=None)
: 초기화 메서드. 검색 UI 요소를 설정한다.search(self)
: 검색 버튼 클릭 시 호출되는 메서드. 검색을 시작한다.search_recursive(self, parent)
: 파일 시스템을 재귀적으로 탐색하며 검색어와 일치하는 파일을 찾는다.
속성
model
: 검색에 사용될 QFileSystemModel 인스턴스search_input
: 검색어 입력을 위한 QLineEdit 인스턴스search_button
: 검색을 실행하는 QPushButton 인스턴스
MultiPaneFileExplorer 클래스
설명
MultiPaneFileExplorer
는 전체 애플리케이션의 메인 윈도우를 나타내는 클래스이다. 여러 개의 FileExplorerPane
을 2x2 그리드 레이아웃으로 관리하고, 탭 기능을 제공한다.
주요 메서드
__init__(self)
: 초기화 메서드. UI 레이아웃과 기본 탭을 설정한다.create_new_tab(self)
: 새로운 탭을 생성하고 2x2 레이아웃의FileExplorerPane
을 추가한다.change_view_mode(self, mode)
: 모든FileExplorerPane
의 뷰 모드를 변경한다.change_view_mode_recursive(self, widget, mode)
: 재귀적으로 모든FileExplorerPane
의 뷰 모드를 변경한다.compare_files(self)
: 두 파일을 선택하고 내용을 비교한다.
속성
tab_widget
: QTabWidget 인스턴스, 여러 탭을 관리한다.toolbar
: QToolBar 인스턴스, 새 탭 생성과 파일 비교 등의 액션을 포함한다.view_mode_combo
: QComboBox 인스턴스, 뷰 모드 선택을 위한 콤보 박스search_widget
: SearchWidget 인스턴스, 파일 검색 기능을 제공한다.
이 클래스들은 함께 작동하여 Q-Dir와 유사한 다중 창 파일 탐색기 기능을 제공한다. MultiPaneFileExplorer
가 전체 애플리케이션을 관리하고, 각 FileExplorerPane
이 개별 파일 탐색 창을 담당하며, SearchWidget
이 검색 기능을 제공한다.
'프로젝트 > 파일관리' 카테고리의 다른 글
파일 오거나이저 개발- 1 (0) | 2024.06.30 |
---|