오늘 로봇 프로젝트를 계속 진행하며, 과거 저장 기록을 모두 표시하는 기록 조회 페이지를 추가하기로 결정했습니다. 이 인터페이스는 시간, 원본 이미지, 검색 결과 이미지 등 다양한 데이터와 정보를 표시할 것입니다.
메인 페이지 코드:
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.기록_데이터_로드()