codeSearch/main.py

51 lines
1.6 KiB
Python

import flet as ft
from database.db_manager import DatabaseManager
from ui.fault_finder import FaultFinderUI
def main(page: ft.Page):
"""
메인 애플리케이션을 초기화하고 실행합니다.
Args:
page (ft.Page): Flet 페이지 객체
"""
# 페이지 설정
page.title = "고장코드 검색기"
page.theme_mode = ft.ThemeMode.LIGHT
page.padding = 10 # 모바일 화면에 맞게 패딩 감소
# 모바일 환경 최적화
page.window_width = 1000 # 기본 너비
page.window_height = 800 # 기본 높이
page.window_resizable = True
# 모바일 설정
page.scroll = ft.ScrollMode.AUTO # 필요시 스크롤 허용
page.on_resize = lambda _: page.update() # 화면 크기 변경 시 업데이트
# 안드로이드 뒤로가기 버튼 처리
def on_back_button(e):
# 다이얼로그가 열려있으면 닫기
if page.dialog and page.dialog.open:
page.dialog.open = False
page.update()
return True # 이벤트 처리 완료
return False # 기본 뒤로가기 동작 허용
page.on_pop_route = on_back_button
# 데이터베이스 매니저 초기화
db_manager = DatabaseManager()
# UI 컴포넌트 초기화
fault_finder = FaultFinderUI(page, db_manager)
# 메인 컨테이너를 페이지에 추가
page.add(fault_finder.container)
# 초기 로딩 시 전체 코드 목록 표시
fault_finder.load_all_codes()
page.update() # UI 업데이트 강제 호출
if __name__ == "__main__":
ft.app(target=main)