From c7d94f4cd5cf0fbadc8cddc84b8d9fac0b7ce843 Mon Sep 17 00:00:00 2001 From: 3minbe Date: Mon, 17 Feb 2025 18:24:20 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B1=84=EB=84=90=20=EC=84=A0=ED=83=9D=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80:=20=EB=93=9C=EB=A1=AD?= =?UTF-8?q?=EB=8B=A4=EC=9A=B4=20=EB=A9=94=EB=89=B4=20=EB=B0=8F=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=20=EB=B3=80=EA=B2=BD=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DBC_Converter.py | 39 ++++++++++++++++++++++++++++++++++++++- settings.json | 2 +- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/DBC_Converter.py b/DBC_Converter.py index 2146ba7..8697794 100644 --- a/DBC_Converter.py +++ b/DBC_Converter.py @@ -89,12 +89,13 @@ class MainView(QtWidgets.QMainWindow): self.default_save_path = os.path.join(os.path.expanduser("~"), "Desktop") # 바탕화면 경로 설정 self.file_paths = [] # 파일 경로 저장 리스트 self.channel_info = {} # 채널 정보 초기화 + self.channel_options = ["CH0", "CH1", "CH2", "CH3", "CH4", "CH5"] # 채널 옵션 설정 self.loadSettings() # 설정 로드 self.setupUI(base_path) # UI 설정 self.centerWindow() # 창을 화면 중앙에 위치 self.sortTreeView(0, True) # 기본 파일명 오름차순 정렬 - self.channel_options = ["CH0", "CH1", "CH2", "CH3", "CH4", "CH5"] # 채널 옵션 설정 self.setupCloseEvent() # 프로그램 종료 이벤트 설정 + self.tree.itemSelectionChanged.connect(self.onFileSelectionChanged) def loadSettings(self): self.settings_file = "settings.json" @@ -288,10 +289,46 @@ class MainView(QtWidgets.QMainWindow): settings_label = QtWidgets.QLabel("설정") settings_label.setAlignment(QtCore.Qt.AlignCenter) + settings_label.setStyleSheet("font-weight: bold; font-size: 14px;") # 글자를 굵게 하고 크기를 16px로 설정 settings_layout.addWidget(settings_label) + # 설정 라벨과 채널 선택 라벨 사이에 작은 간격 추가 + settings_layout.addSpacing(20) # 10 픽셀 간격 추가 + + # 채널 선택 드롭다운 메뉴 추가 + channel_label = QtWidgets.QLabel("# 채널 선택") + channel_label.setAlignment(QtCore.Qt.AlignLeft) + settings_layout.addWidget(channel_label) + + self.channel_combo = QtWidgets.QComboBox() + self.channel_combo.addItems(self.channel_options) + self.channel_combo.setEnabled(False) # 초기에는 비활성화 + self.channel_combo.currentIndexChanged.connect(self.onChannelChanged) + settings_layout.addWidget(self.channel_combo) + + # 상단 정렬을 위해 빈 공간 추가 + settings_layout.addStretch() + return settings_panel + def onFileSelectionChanged(self): + selected_items = self.tree.selectedItems() + if selected_items: + self.channel_combo.setEnabled(True) + current_channel = selected_items[0].text(2) + self.channel_combo.setCurrentText(current_channel) + else: + self.channel_combo.setEnabled(False) + + def onChannelChanged(self): + selected_items = self.tree.selectedItems() + if selected_items: + new_channel = self.channel_combo.currentText() + for item in selected_items: + item.setText(2, new_channel) + self.updateChannelInfo(item.text(1), item.text(0), new_channel) + self.updateAlertText(f"채널 변경", [f"{item.text(0)}의 채널이 {new_channel}(으)로 변경되었습니다." for item in selected_items]) + def selectSavePath(self): selected_path = QtWidgets.QFileDialog.getExistingDirectory(self, "저장 경로 선택", self.default_save_path) if selected_path: diff --git a/settings.json b/settings.json index 3771384..656cc45 100644 --- a/settings.json +++ b/settings.json @@ -2,6 +2,6 @@ "theme": "light", "default_save_path": "C:/Users/MSI/Desktop", "file_paths": [], - "last_opened_dir": "C:/Users/MSI/Desktop/python/motorola_tx", + "last_opened_dir": "C:/Users/MSI/SynologyDrive/3min_be/한자연/!과제/초안전/#Debug/DBC", "channel_info": {} } \ No newline at end of file