PyQt Four Function Calculator – To create a PyQt program with three QLineEdit
widgets for input, labels, six buttons for performing mathematical operations (Add, Subtract, Multiply, Divide, Clear, Exit), and a third QLineEdit
widget for displaying the result, you can use the following code:
import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QPushButton class CalculatorApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('Simple Calculator') self.setGeometry(100, 100, 400, 200) self.num1_label = QLabel('Enter Number 1:') self.num1_edit = QLineEdit() self.num2_label = QLabel('Enter Number 2:') self.num2_edit = QLineEdit() self.result_label = QLabel('Result:') self.result_edit = QLineEdit() self.result_edit.setReadOnly(True) self.add_button = QPushButton('Add') self.subtract_button = QPushButton('Subtract') self.multiply_button = QPushButton('Multiply') self.divide_button = QPushButton('Divide') self.clear_button = QPushButton('Clear') self.exit_button = QPushButton('Exit') self.add_button.clicked.connect(self.add) self.subtract_button.clicked.connect(self.subtract) self.multiply_button.clicked.connect(self.multiply) self.divide_button.clicked.connect(self.divide) self.clear_button.clicked.connect(self.clear) self.exit_button.clicked.connect(self.close) # Layout input_layout = QVBoxLayout() input_layout.addWidget(self.num1_label) input_layout.addWidget(self.num1_edit) input_layout.addWidget(self.num2_label) input_layout.addWidget(self.num2_edit) button_layout = QVBoxLayout() button_layout.addWidget(self.add_button) button_layout.addWidget(self.subtract_button) button_layout.addWidget(self.multiply_button) button_layout.addWidget(self.divide_button) button_layout.addWidget(self.clear_button) button_layout.addWidget(self.exit_button) result_layout = QVBoxLayout() result_layout.addWidget(self.result_label) result_layout.addWidget(self.result_edit) result_layout.addStretch(1) # Add this line to stretch the result_edit widget main_layout = QHBoxLayout() main_layout.addLayout(input_layout) main_layout.addLayout(button_layout) main_layout.addLayout(result_layout) self.setLayout(main_layout) def add(self): try: num1 = float(self.num1_edit.text()) num2 = float(self.num2_edit.text()) result = num1 + num2 self.result_edit.setText(str(result)) except ValueError: self.result_edit.setText('Invalid Input') def subtract(self): try: num1 = float(self.num1_edit.text()) num2 = float(self.num2_edit.text()) result = num1 - num2 self.result_edit.setText(str(result)) except ValueError: self.result_edit.setText('Invalid Input') def multiply(self): try: num1 = float(self.num1_edit.text()) num2 = float(self.num2_edit.text()) result = num1 * num2 self.result_edit.setText(str(result)) except ValueError: self.result_edit.setText('Invalid Input') def divide(self): try: num1 = float(self.num1_edit.text()) num2 = float(self.num2_edit.text()) if num2 == 0: self.result_edit.setText('Division by zero') else: result = num1 / num2 self.result_edit.setText(str(result)) except ValueError: self.result_edit.setText('Invalid Input') def clear(self): self.num1_edit.clear() self.num2_edit.clear() self.result_edit.clear() if __name__ == '__main__': app = QApplication(sys.argv) window = CalculatorApp() window.show() sys.exit(app.exec_())
This code creates a simple calculator application using PyQt. It has three input fields (for two numbers and result display), labels, and buttons for performing basic arithmetic operations. When you click the operation buttons, it calculates the result and displays it in the third input field.
- PyQt Program To Add Remove Clear Items From List
- Common PyQt GUI Widgets
- PyQt Introduction and Features
- Basic Structure of PyQt GUI Program
- Python PyQt Convert Kilograms To Pounds
- Python PyQt Convert Pounds To Kilograms
- Python PyQt Find Factorial
- Python PyQt Add Two Numbers