2021.10.03 - [Python/PyQt응용] - [python] PyQt5 응용 /계산기 만들기 - 레이아웃 배치 (1)
2021.10.11 - [Python/PyQt응용] - [Python] PyQt5 응용/계산기 만들기 - 숫자 입력 함수 만들기
이전 포스팅에 이어 숫자 입력 버튼을 다 구현했으면 계산할 수 있는 함수를 추가할 것이다
1. 사칙연산 입력 코드를 작성한다 (+ - * /)
ex) + 버튼을 눌렀을 때 "+"가 화면에 뜨도록 추가
숫자 입력할 때랑 동일하게 함수 추가 plus(+), minus(-), divide(/), multiple(*)
def plus(self):
self.number("+")
2. 사칙연산 버튼이 여러 번 눌러지지 않도록 조건문을 추가한다
텍스트 상자에 적힌 글을 불러오고 제일 끝에 사칙연산이 있는지 조건문으로 확인한 후에
사칙연산이 있으면 이전 사칙연산 기호를 지우고 새로 추가
사칙연산이 없으면 그냥 추가하도록 수정한다
def plus(self):
exist_text = self.lineEdit.text()
if((exist_text[-1] == "+")| (exist_text[-1] == "-")|(exist_text[-1] == "*")|(exist_text[-1] == "/")):
self.lineEdit.setText(exist_text[:-1])
self.number("+")
3. 계산기의 결과를 출력할 수 있는 함수 result 추가
계산기의 출력 값은 eval 함수로 구할 수 있다
eval(계산식)을 적으면 결과값을 반환한다
def result(self):
exist_text = self.lineEdit.text()
self.number("=")
try:
ans = eval(exist_text)
self.lineEdit.setText(str(ans))
except Exception as e:
print(e)
4. 사칙연산 계산식과 출력 값을 구분할 수 있도록 lineEdit를 추가한다
Qt Designer에서 calculator.ui를 불러와 수정한다
def result(self):
exist_text = self.lineEdit.text()
self.number("=")
try:
ans = eval(exist_text)
# self.lineEdit.setText(str(ans))
self.lineEdit_2.setText(str(ans)) //새로추가한 lineEdit_2에 출력
except Exception as e:
print(e)
5. 실행화면
반응형
'Python > PyQt응용' 카테고리의 다른 글
[Python] PyQt 응용/계산기 만들기 - exe 실행 파일, 아이콘 추가하기 (0) | 2022.02.06 |
---|---|
[Python] PyQt 응용/계산기 만들기 - 이미지 넣기, 버튼에 이미지 (0) | 2021.11.10 |
[Python] PyQt5 응용/계산기 만들기 - 숫자 입력 함수 만들기 (0) | 2021.10.11 |
[python] PyQt5 응용 /계산기 만들기 - 레이아웃 배치 (1) (0) | 2021.10.03 |
댓글