로봇 프로젝트의 기록 관리 시스템 구현

오늘 로봇 프로젝트를 계속 진행하며, 과거 저장 기록을 모두 표시하는 기록 조회 페이지를 추가하기로 결정했습니다. 이 인터페이스는 시간, 원본 이미지, 검색 결과 이미지 등 다양한 데이터와 정보를 표시할 것입니다.

메인 페이지 코드:

def initialize_interface(self):
    self.setWindowTitle("스마트 분석 시스템")
    self.resize(1200, 800)
    self.setStyleSheet("background-color: #F0F0F0;")

    중앙_위젯 = QtWidgets.QWidget()
    self.setCentralWidget(중앙_위젯)
    메인_레이아웃 = QtWidgets.QVBoxLayout(중앙_위젯)
    메인_레이아웃.setContentsMargins(10, 10, 10, 10)
    메인_레이아웃.setSpacing(10)

    # 상단 전환 버튼 스타일
    버튼_스타일 = """
    QPushButton {
        background-color: #87CEFA;
        color: black;
        border: none;
        padding: 8px 16px;
        border-radius: 4px;
        min-width: 120px;
        min-height: 35px;
        font-size: 14px;
    }
    QPushButton:disabled {
        background-color: #D3D3D3;
        color: gray;
    }
    """

    self.분석_버튼 = QtWidgets.QPushButton("데이터 분석")
    self.상태_버튼 = QtWidgets.QPushButton("오늘 현황")
    self.기록_버튼 = QtWidgets.QPushButton("기록 조회")
    self.분석_버튼.setStyleSheet(버튼_스타일)
    self.상태_버튼.setStyleSheet(버튼_스타일.replace("#87CEFA", "#D3D3D3").replace("black", "gray"))
    self.기록_버튼.setStyleSheet(버튼_스타일.replace("#87CEFA", "#D3D3D3").replace("black", "gray"))

    상단_레이아웃 = QtWidgets.QHBoxLayout()
    상단_레이아웃.addWidget(self.분석_버튼)
    상단_레이아웃.addWidget(self.상태_버튼)
    상단_레이아웃.addWidget(self.기록_버튼)
    상단_레이아웃.setSpacing(10)
    메인_레이아웃.addLayout(상단_레이아웃)

    # 페이지 스택 위젯
    self.페이지_스택 = QtWidgets.QStackedWidget()
    메인_레이아웃.addWidget(self.페이지_스택)

    self.분석_페이지_설정()
    self.상태_페이지_설정()
    self.기록_페이지_설정()

    self.분석_버튼.clicked.connect(self.분석_페이지_전환)
    self.상태_버튼.clicked.connect(self.상태_페이지_전환)
    self.기록_버튼.clicked.connect(self.기록_페이지_전환)
    self.분석_페이지_전환()

페이지 전환 기능:

def 분석_페이지_전환(self):
    self.페이지_스택.setCurrentIndex(0)
    self.분석_버튼.setDisabled(True)
    self.상태_버튼.setDisabled(False)
    self.기록_버튼.setDisabled(False)
    self.분석_버튼.setStyleSheet("background-color: #87CEFA; color: black;")
    self.상태_버튼.setStyleSheet("background-color: #D3D3D3; color: gray;")
    self.기록_버튼.setStyleSheet("background-color: #D3D3D3; color: gray;")

def 상태_페이지_전환(self):
    self.페이지_스택.setCurrentIndex(1)
    self.상태_버튼.setDisabled(True)
    self.분석_버튼.setDisabled(False)
    self.기록_버튼.setDisabled(False)
    self.상태_버튼.setStyleSheet("background-color: #87CEFA; color: black;")
    self.분석_버튼.setStyleSheet("background-color: #D3D3D3; color: gray;")
    self.기록_버튼.setStyleSheet("background-color: #D3D3D3; color: gray;")

def 기록_페이지_전환(self):
    self.페이지_스택.setCurrentIndex(2)
    self.기록_버튼.setDisabled(True)
    self.분석_버튼.setDisabled(False)
    self.상태_버튼.setDisabled(False)
    self.기록_버튼.setStyleSheet("background-color: #87CEFA; color: black;")
    self.분석_버튼.setStyleSheet("background-color: #D3D3D3; color: gray;")
    self.상태_버튼.setStyleSheet("background-color: #D3D3D3; color: gray;")
    self.기록_데이터_로드()

태그: 파이썬 Qt/PyQt GUI 개발 UI 구현 페이지 전환

9월 20일 03:39에 게시됨