mirror of
https://github.com/3minbe/DBC_Converter.git
synced 2026-05-17 01:23:58 +09:00
채널 선택 기능 추가: 드롭다운 메뉴 및 선택 변경 이벤트 구현
This commit is contained in:
parent
87a51ef2ba
commit
c7d94f4cd5
@ -89,12 +89,13 @@ class MainView(QtWidgets.QMainWindow):
|
|||||||
self.default_save_path = os.path.join(os.path.expanduser("~"), "Desktop") # 바탕화면 경로 설정
|
self.default_save_path = os.path.join(os.path.expanduser("~"), "Desktop") # 바탕화면 경로 설정
|
||||||
self.file_paths = [] # 파일 경로 저장 리스트
|
self.file_paths = [] # 파일 경로 저장 리스트
|
||||||
self.channel_info = {} # 채널 정보 초기화
|
self.channel_info = {} # 채널 정보 초기화
|
||||||
|
self.channel_options = ["CH0", "CH1", "CH2", "CH3", "CH4", "CH5"] # 채널 옵션 설정
|
||||||
self.loadSettings() # 설정 로드
|
self.loadSettings() # 설정 로드
|
||||||
self.setupUI(base_path) # UI 설정
|
self.setupUI(base_path) # UI 설정
|
||||||
self.centerWindow() # 창을 화면 중앙에 위치
|
self.centerWindow() # 창을 화면 중앙에 위치
|
||||||
self.sortTreeView(0, True) # 기본 파일명 오름차순 정렬
|
self.sortTreeView(0, True) # 기본 파일명 오름차순 정렬
|
||||||
self.channel_options = ["CH0", "CH1", "CH2", "CH3", "CH4", "CH5"] # 채널 옵션 설정
|
|
||||||
self.setupCloseEvent() # 프로그램 종료 이벤트 설정
|
self.setupCloseEvent() # 프로그램 종료 이벤트 설정
|
||||||
|
self.tree.itemSelectionChanged.connect(self.onFileSelectionChanged)
|
||||||
|
|
||||||
def loadSettings(self):
|
def loadSettings(self):
|
||||||
self.settings_file = "settings.json"
|
self.settings_file = "settings.json"
|
||||||
@ -288,10 +289,46 @@ class MainView(QtWidgets.QMainWindow):
|
|||||||
|
|
||||||
settings_label = QtWidgets.QLabel("설정")
|
settings_label = QtWidgets.QLabel("설정")
|
||||||
settings_label.setAlignment(QtCore.Qt.AlignCenter)
|
settings_label.setAlignment(QtCore.Qt.AlignCenter)
|
||||||
|
settings_label.setStyleSheet("font-weight: bold; font-size: 14px;") # 글자를 굵게 하고 크기를 16px로 설정
|
||||||
settings_layout.addWidget(settings_label)
|
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
|
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):
|
def selectSavePath(self):
|
||||||
selected_path = QtWidgets.QFileDialog.getExistingDirectory(self, "저장 경로 선택", self.default_save_path)
|
selected_path = QtWidgets.QFileDialog.getExistingDirectory(self, "저장 경로 선택", self.default_save_path)
|
||||||
if selected_path:
|
if selected_path:
|
||||||
|
|||||||
@ -2,6 +2,6 @@
|
|||||||
"theme": "light",
|
"theme": "light",
|
||||||
"default_save_path": "C:/Users/MSI/Desktop",
|
"default_save_path": "C:/Users/MSI/Desktop",
|
||||||
"file_paths": [],
|
"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": {}
|
"channel_info": {}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user