오늘은 레이아웃의 일부 수정과 게임 상세 정보를 볼 수 있도록 만들었다.
def display_game_detail(self): # 숙련도 확인하고 행을 선택하면 그에 해당하는 경기 데이터를 출력하는 버그가 있음
# game_detail_data = {match_id : {닉네임 : {Champion_Level, champName, kills, deaths, assists, KDA, Dealt_damage, CS, match_result, visionScore, summonerLevel, goldEarned}}}
column_headers = ['닉네임', '레벨','챔피언','챔레벨','킬', '데스','어시','KDA','피해량','cs','시야점수','골드']
self.DetailTable.setRowCount(10)
self.DetailTable.setColumnCount(len(column_headers))
self.DetailTable.setHorizontalHeaderLabels(column_headers)
cur_match = self.l.match_list[self.ResultTable.currentRow()]
temp_list = [0 for i in range(len(column_headers))]
row = 0
for i in self.l.game_detail_data[cur_match]:
temp_list[0] = i
temp_list[1] = self.l.game_detail_data[cur_match][i]['summonerLevel']
temp_list[2] = self.l.game_detail_data[cur_match][i]['champName']
temp_list[3] = self.l.game_detail_data[cur_match][i]['Champion_Level']
temp_list[4] = self.l.game_detail_data[cur_match][i]['kills']
temp_list[5] = self.l.game_detail_data[cur_match][i]['deaths']
temp_list[6] = self.l.game_detail_data[cur_match][i]['assists']
temp_list[7] = self.l.game_detail_data[cur_match][i]['KDA']
temp_list[8] = self.l.game_detail_data[cur_match][i]['Dealt_damage']
temp_list[9] = self.l.game_detail_data[cur_match][i]['CS']
temp_list[10] = self.l.game_detail_data[cur_match][i]['visionScore']
temp_list[11] = self.l.game_detail_data[cur_match][i]['goldEarned']
for k, v in enumerate(temp_list):
self.DetailTable.setItem(row, k, QTableWidgetItem(str(v)))
if self.l.game_detail_data[cur_match][i]['match_result']: # 표의 색상 처리
self.DetailTable.item(row, k).setBackground(QColor(135,206,235))
else:
self.DetailTable.item(row, k).setBackground(QColor(240,128,128))
row += 1
self.DetailTable.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # column 너비 조정
self.DetailTable.resizeRowsToContents()
이 함수는 cellClicked 이벤트와 연결해서 클릭한 행의 경기 데이터를 보여준다.
일단 오늘 작업하면서 느낀 점은 불필요하게 매치 정보에 대한 것을 너무 쪼개 놓은 것 같은 느낌이 들었다. 이에 대해서는 조금 더 생각해 봐야할 것 같다.
추가로 UI의 개편과 최종 목적에 대해 확실히 생각하고 마무리를 지어야 할 것 같다.