안녕하세요.

PtQt5를 이용하여 사칙연산 계산기를 만들어 보겠습니다.

PyQt5를 처음 접해보시는 분들이 이해하기 쉽도록

기능을 설명드리고자

초간단 버전으로 제작하였습니다.

값을 입력하고 사칙연산의 결과를 보도록 하겠습니다.

차후에 더 멋진 계산기를 만들어 보겠습니다.

 

 

처음 접해보시는 분들은 GUI를 만드는 것부터

어려우실 겁니다.

PyQt5는 designer 툴을 제공해주기 때문에

직관적으로 GUI를 만들 수 있습니다.

왼쪽 아이콘에서 원하는 것을 드래그 하여

하나하나 추가 해주시면 됩니다.

 

저는 여기서 QlineEdit, QcomboEdit, QComboBox,QPushButton을 사용했습니다.

보기 좋게 하기 위해서 Layout을 사용했는데 사용하셔도 되고 안하셔도 됩니다.

 

 

 사칙연산 고르는 방법으로 콤보상자를 사용했습니다.

여기서 더하기버튼을 클릭하면 추가할 수 있는데

저는 덧셈, 뺄셈, 곱셈, 나눗셈을 추가해주었습니다.

 

 

import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic

UI = 'calculator_200429.ui'
class Dialog(QDialog):
    def __init__(self):
        super().__init__()
        uic.loadUi(UI, self)
        self.setting()

    def setting(self):
        self.check.clicked.connect(self.calculator)

    def calculator(self):
        i = 0
        if self.value.currentText() == '+':
            i = float(self.X.text()) + float(self.Y.text())
        elif self.value.currentText() == '-':
            i = float(self.X.text()) - float(self.Y.text())
        elif self.value.currentText() == '*':
            i = float(self.X.text()) * float(self.Y.text())
        elif self.value.currentText() == '/':
            if self.Y.text() == '0':
                pass
            else:
                i = float(self.X.text()) / float(self.Y.text())
        self.result.setText(str(i))

app = QApplication(sys.argv)
ex = Dialog()
ex.show()
sys.exit(app.exec_())

코드는 다음과 같습니다.

버튼을 클릭하면 def calculator로 넘어가서

지정한 사칙연산을 계산하게 됩니다.

나눗셈의 경우 분모가 0이 될 경우 계산이 불가능하기 때문에

이럴 경우는 그냥 넘어가도록 했습니다.

 

QComboBox의 현재값을 보기 위해서는 currentText를 사용해야 하고

QlineEdit 에서 현재값을 보기 위해서는 text를 사용해야 합니다.

그리고 이렇게 가져온 값은 str이기 때문에

계산을 하기 위해 float로 변경하여 사칙연산을 진행 했습니다.

 

사칙연산의 결과값은 결과창에 넣어주기 위해서

setText를 사용했구요

이때 값이 str이여야 하기 때문에 int에서 str으로 변환해 주었습니다.

 

 

프로그램을 실행시켜 보았습니다.

다음과 같이 프로그램이 실행이 됬습니다.

값들을 변경 해보겠습니다.

 

 

사칙연산 변경을 하는 방법입니다.

사전에 만들어 놓은 것들이 나열되어 있네요

 

 

덧셈을 해보겠습니다.

X값에 5를 입력하고 Y값에 2를 입력한 후에

사칙연산을 +로 설정하고 확인을 눌러줍니다.

결과 값에 7이 입력이 되네요.

 

 

나눗셈의 경우 앞에서 코드 작성한 것과 같이

확인 버튼을 누를 경우 결과값이 0을 표시하게 됩니다.

만약 그냥 넘어가는 코드를 작성하지 않았다면

프로그램에 오류가 발생할 겁니다.

 

 

이렇게 간단하게 사칙연산이 가능한 계산기를

GUI로 만들어 보았습니다.

다음에는 더 좋은 내용으로 찾아 뵙겠습니다.

감사합니다.