IT/파이썬 2021. 2. 2.
파이썬 pyqt5 pyside2 윈도우 창 상태 - maximized 확인
현재 창의 상태가 최대창 상태인지 알 수 있는 방법 흐흐 너무 쉽다. 아래 코드에서 self.isMaximized() 함수를 부르면 당장 알 수 있다. 이런 방법을 이용해서 F11 키를 누르면 창을 최대화 하고 ESC를 누르면 창을 닫는 간단한 코드를 아래에서 살펴보세요. def keyPressEvent(self, e): if e.key() == QtCore.Qt.Key_Escape: self.close() if e.key() == QtCore.Qt.Key_F11: if self.isMaximized(): self.showNormal() else: self.showMaximized() 이 예제 코드는 아래 글에서 가져왔습니다. stackoverflow.com/questions/14726296/how-to..
IT/파이썬 2021. 2. 2.
파이썬 JSON 읽기 에서 특정 키 가 있는지 먼저 확인하기
JSON을 읽기는 했는데, 원하는 키 가 있는지 부터 체크하고 싶다면 .get 함수를 이용하도록 하자. 아니면 KeyError: '원하는키' 를 만나게 되어서 로직으로 처리하기 어렵다. 아래처럼 JSON을 읽을 값을 self.config 에 저장해 두고 창 위치를 조정하고자 하는데 저장된 JSON 파일내에 내가 원하는 'height' 라는 키 값 자체가 있는지 모를때, 혹은 그때 기본값을 적용하고 싶다면 해당 키가 있는지 부터 조사해 내야 한다. .get('원하는키') 함수로 쉽게 이를 구현할 수 있다. 아래 코드를 참고하세요. if (self.config['Last].get('height')): startSize = QSize(self.config['Last']['width'], self.config[..
IT/파이썬 2021. 2. 2.
파이썬 JSON 파일 읽고 쓰기
JSON 파일 형태로 config 를 처리하는 작업을 하는 것을 하다 보니 읽고 쓸 일이 있네. 간략하게 정리해둬 보자. 일단 JSON 파일을 아래 처럼 만들어 보았다. { "System": { "version": "1.0.0", }, } 이걸 읽어서 버전을 찍어주도록 하는 코드 예제는 아래와 같다. self.config 에 읽은 정보가 다 들어오고, 배열, dict 형태로 접근해서 정보를 읽고 쓰면 된다. 업데이트는 아래 updateConfig 처럼 그냥 파일 열어서 JSON 객체를 json.dump로 쓰면 된다. 여기서 indent =4 를 주면 보기 좋게 되고, 안주면 쭉 붙여서 일렬로 문자열이 저장된다. 취향따라 하면 된다. import os import json ... def readConfig..
IT/파이썬 2021. 2. 2.
파이썬 윈도우 크기와 포지션 정보 가져오기 및 세팅하기
파이썬 윈도우 크기와 위치를 저장해 뒀다가 새로 시작할 때 가져올려 몇가지 검색.. 그런데 너무 쉽게 되어 있어서 쓸 게 없을 정도. 왜 딱 바로 안찾아 지는지 모르지만 QMainWindow 에서 만든 파이썬 응용 같으면 아주 쉽다. close 할때 이벤트에서 아래 정보를 저장하는 코드이다. 위치는 간단하게 .x(), .y() 크기도 간단하게 .width(), .height() 로 아주 손쉽게 정보를 가져올 수 있다. # close event 처리 def closeEvent(self, ev): if QMessageBox.question(self, 'Closing', 'Really close?') == QMessageBox.Yes: # # 이상하게 사이즈가 2px 크게 나오네.. # width = self..