반응형
class WindowClass(QDialog, form_class) :
def __init__(self) :
super().__init__()
self.setupUi(self)
self.user_info_list = [
{'이름': '', '아이디': '', '비밀번호': '', '계정번호': ''}
# 원하는 만큼 계속 추가 가능
]
def populate_user_info(self):
# 선택한 이름에 해당하는 정보로 라인 에디트 업데이트
selected_name = self.combo_box1_6.currentText()
user_info = next((info for info in self.user_info_list if info['이름'] == selected_name), {})
self.name.setText(selected_name)
self.ID_1.setText(user_info.get('아이디', ''))
self.PW_1.setText(user_info.get('비밀번호', ''))
self.account_no.setText(user_info.get('계정번호', ''))
def save_user_info(self):
# 현재 입력된 정보를 사용자 리스트에 추가
user_info = {
'이름': self.name.text(),
'아이디': self.ID_1.text(),
'비밀번호': self.PW_1.text(),
'계정번호': self.account_no.text(),
}
self.user_info_list.append(user_info)
# 콤보 박스 업데이트
self.combo_box1_6.addItem(user_info['이름'])
# 정보 초기화
self.clear_user_info()
def load_user_info(self):
# 선택한 이름에 해당하는 정보를 불러와서 화면에 표시
selected_name = self.combo_box1_6.currentText()
user_info = next((info for info in self.user_info_list if info['이름'] == selected_name), {})
self.name.setText(selected_name)
self.ID_1.setText(user_info.get('아이디', ''))
self.PW_1.setText(user_info.get('비밀번호', ''))
self.account_no.setText(user_info.get('계정번호', ''))
def update_user_info(self):
# 현재 선택한 이름의 정보를 QLineEdit에 입력
selected_name = self.combo_box1_6.currentText()
user_info = next((info for info in self.user_info_list if info['이름'] == selected_name), {})
user_info['아이디'] = self.ID_1.text()
user_info['비밀번호'] = self.PW_1.text()
user_info['계정번호'] = self.account_no.text()
# 예시: 간단하게 콘솔에 출력
print(f'{selected_name}의 정보가 수정되었습니다.')
print(self.user_info_list)
# 콤보 박스 업데이트
self.combo_box1_6.clear()
self.combo_box1_6.addItems([info['이름'] for info in self.user_info_list])
# 정보 초기화
self.clear_user_info()
def delete_user_info(self):
# 선택한 이름에 해당하는 정보 삭제 및 위젯 초기화
selected_name = self.combo_box1_6.currentText()
user_info_index = next((index for index, info in enumerate(self.user_info_list) if info['이름'] == selected_name), None)
if user_info_index is not None:
del self.user_info_list[user_info_index]
print(f'{selected_name}의 정보가 삭제되었습니다.')
print(self.user_info_list)
# 콤보 박스 업데이트
self.combo_box1_6.clear()
self.combo_box1_6.addItems([info['이름'] for info in self.user_info_list])
# 정보 초기화
self.clear_user_info()
else:
print(f'{selected_name}의 정보가 존재하지 않습니다.')
def clear_user_info(self):
# QLineEdit 위젯 초기화
self.name.clear()
self.ID_1.clear()
self.PW_1.clear()
self.account_no.clear()
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setQuitOnLastWindowClosed(False)
# 시스템 메뉴 아이콘 제거
myWindow = WindowClass()
myWindow.show()
sys.exit(app.exec_())
반응형
'python3 selenium' 카테고리의 다른 글
python selenium 서버 시간 가져오기 & timer (0) | 2023.11.30 |
---|---|
Python selenium pyqt5 창닫힘 이벤트 (0) | 2023.11.30 |
Python selenium main manu, sub manu click (0) | 2023.11.27 |
Python selenium select. combo_box (0) | 2023.11.27 |
Python selenium slack에서 전송된 문지 확인 및 특정 문자 추출하기 (0) | 2023.11.27 |