облегчить калькулятор на PyQt5

на днях я решил покопаться в PyQt5 и что-нибудь там сделать. Получился простенький калькулятор. И он весит 31МБ. Есть ли способы облегчить его?:) он умеет умножать, делить, возводить в степень, складывать и вычитать

Использовал при конвертации в .exe с помощью pyinstaller ключи: -F -w -i

импортировал только нужные модули

для вычисления указывал eval()

если будут какие нибудь советы то тоже говорите

import sys
import keyboard
from PyQt5 import QtCore
from PyQt5.QtWidgets import QPushButton, QLineEdit, QApplication, QWidget

nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(364, 489)
        Form.setMinimumSize(QtCore.QSize(364, 411))
        Form.setMaximumSize(QtCore.QSize(364, 500))
        Form.setAutoFillBackground(False)
        Form.setStyleSheet("color: #f20081;\n"
"background-color:#454545;")
        self.pushButton_7 = QPushButton(Form)
        self.pushButton_7.setGeometry(QtCore.QRect(10, 330, 75, 71))
        self.pushButton_7.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_7.setObjectName("pushButton_7")
        self.pushButton_8 = QPushButton(Form)
        self.pushButton_8.setGeometry(QtCore.QRect(100, 330, 75, 71))
        self.pushButton_8.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_8.setObjectName("pushButton_8")
        self.pushButton_4 = QPushButton(Form)
        self.pushButton_4.setGeometry(QtCore.QRect(10, 250, 75, 71))
        self.pushButton_4.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_5 = QPushButton(Form)
        self.pushButton_5.setGeometry(QtCore.QRect(100, 250, 75, 71))
        self.pushButton_5.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_5.setObjectName("pushButton_5")
        self.pushButton_9 = QPushButton(Form)
        self.pushButton_9.setGeometry(QtCore.QRect(190, 330, 75, 71))
        self.pushButton_9.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_9.setObjectName("pushButton_9")
        self.pushButton_6 = QPushButton(Form)
        self.pushButton_6.setGeometry(QtCore.QRect(190, 250, 75, 71))
        self.pushButton_6.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_6.setObjectName("pushButton_6")
        self.pushButton_3 = QPushButton(Form)
        self.pushButton_3.setGeometry(QtCore.QRect(190, 170, 75, 71))
        self.pushButton_3.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_3.setObjectName("pushButton_3")
        self.pushButton_2 = QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(100, 170, 75, 71))
        self.pushButton_2.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_1 = QPushButton(Form)
        self.pushButton_1.setGeometry(QtCore.QRect(10, 170, 75, 71))
        self.pushButton_1.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_1.setObjectName("pushButton_1")
        self.pushButton_equals = QPushButton(Form)
        self.pushButton_equals.setGeometry(QtCore.QRect(280, 330, 75, 151))
        self.pushButton_equals.setMinimumSize(QtCore.QSize(75, 58))
        self.pushButton_equals.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_equals.setObjectName("pushButton_equals")
        self.pushButton_plus = QPushButton(Form)
        self.pushButton_plus.setGeometry(QtCore.QRect(280, 170, 75, 151))
        self.pushButton_plus.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_plus.setObjectName("pushButton_plus")
        self.pushButton_minus = QPushButton(Form)
        self.pushButton_minus.setGeometry(QtCore.QRect(280, 90, 75, 71))
        self.pushButton_minus.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_minus.setObjectName("pushButton_minus")
        self.pushButton_mult = QPushButton(Form)
        self.pushButton_mult.setGeometry(QtCore.QRect(190, 90, 75, 71))
        self.pushButton_mult.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_mult.setIconSize(QtCore.QSize(16, 16))
        self.pushButton_mult.setObjectName("pushButton_mult")
        self.NumLine = QLineEdit(Form)
        self.NumLine.setGeometry(QtCore.QRect(10, 10, 341, 71))
        self.NumLine.setStyleSheet("font: 25 28pt \"Microsoft YaHei Light\";")
        self.NumLine.setText(" ")
        self.NumLine.setReadOnly(True)
        self.NumLine.setObjectName("NumLine")
        self.pushButton_C = QPushButton(Form)
        self.pushButton_C.setGeometry(QtCore.QRect(10, 90, 75, 71))
        self.pushButton_C.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_C.setObjectName("pushButton_C")
        self.pushButton_div = QPushButton(Form)
        self.pushButton_div.setGeometry(QtCore.QRect(100, 90, 75, 71))
        self.pushButton_div.setStyleSheet("QPushButton {\n"
"    font: 25 24pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_div.setObjectName("pushButton_div")
        self.pushButton_0 = QPushButton(Form)
        self.pushButton_0.setGeometry(QtCore.QRect(10, 410, 161, 71))
        self.pushButton_0.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_0.setObjectName("pushButton_0")
        self.pushButton_pow = QPushButton(Form)
        self.pushButton_pow.setGeometry(QtCore.QRect(190, 410, 75, 71))
        self.pushButton_pow.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_pow.setObjectName("pushButton_pow")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton_7.setText(_translate("Form", "7"))
        self.pushButton_8.setText(_translate("Form", "8"))
        self.pushButton_4.setText(_translate("Form", "4"))
        self.pushButton_5.setText(_translate("Form", "5"))
        self.pushButton_9.setText(_translate("Form", "9"))
        self.pushButton_6.setText(_translate("Form", "6"))
        self.pushButton_3.setText(_translate("Form", "3"))
        self.pushButton_2.setText(_translate("Form", "2"))
        self.pushButton_1.setText(_translate("Form", "1"))
        self.pushButton_equals.setText(_translate("Form", "="))
        self.pushButton_plus.setText(_translate("Form", "+"))
        self.pushButton_minus.setText(_translate("Form", "-"))
        self.pushButton_mult.setText(_translate("Form", "*"))
        self.pushButton_C.setText(_translate("Form", "C"))
        self.pushButton_div.setText(_translate("Form", "/"))
        self.pushButton_0.setText(_translate("Form", "0"))
        self.pushButton_pow.setText(_translate("Form", "**"))


if __name__ == "__main__":
    # создание приложения
    app = QApplication(sys.argv)

    # init
    Form = QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()

    # logic
    def ZERO():
        ui.NumLine.insert('0')


    def ONE():
        ui.NumLine.insert('1')


    def TWO():
        ui.NumLine.insert('2')


    def THREE():
        ui.NumLine.insert('3')


    def FOUR():
        ui.NumLine.insert('4')


    def FIVE():
        ui.NumLine.insert('5')


    def SIX():
        ui.NumLine.insert('6')


    def SEVEN():
        ui.NumLine.insert('7')


    def EIGHT():
        ui.NumLine.insert('8')


    def NINE():
        ui.NumLine.insert('9')


    def PLUS():
        if str(ui.NumLine.text())[-1] in nums:
            ui.NumLine.insert('+')


    def MINUS():
        if str(ui.NumLine.text())[-1] in nums:
            ui.NumLine.insert('-')


    def MULT():
        if str(ui.NumLine.text())[-1] in nums:
            ui.NumLine.insert('*')


    def DIV():
        if str(ui.NumLine.text())[-1] in nums:
            ui.NumLine.insert('/')


    def POW():
        if str(ui.NumLine.text())[-1] in nums:
            ui.NumLine.insert('**')


    def ERASE():
        ui.NumLine.setText(" ")


    def EQUALS():
        if str(ui.NumLine.text())[0] != '0' and str(ui.NumLine.text())[-1] in nums:
            f = ui.NumLine.text()
            g = eval(f)
            ui.NumLine.setText(str(g))


    def DELEL():
        ui.NumLine.backspace()


    keyboard.add_hotkey('Backspace', DELEL)
    keyboard.add_hotkey('Enter', EQUALS)
    ui.pushButton_0.clicked.connect(ZERO)
    ui.pushButton_1.clicked.connect(ONE)
    ui.pushButton_2.clicked.connect(TWO)
    ui.pushButton_3.clicked.connect(THREE)
    ui.pushButton_4.clicked.connect(FOUR)
    ui.pushButton_5.clicked.connect(FIVE)
    ui.pushButton_6.clicked.connect(SIX)
    ui.pushButton_7.clicked.connect(SEVEN)
    ui.pushButton_8.clicked.connect(EIGHT)
    ui.pushButton_9.clicked.connect(NINE)
    ui.pushButton_plus.clicked.connect(PLUS)
    ui.pushButton_minus.clicked.connect(MINUS)
    ui.pushButton_mult.clicked.connect(MULT)
    ui.pushButton_div.clicked.connect(DIV)
    ui.pushButton_pow.clicked.connect(POW)
    ui.pushButton_C.clicked.connect(ERASE)
    ui.pushButton_equals.clicked.connect(EQUALS)

    # main loop
    sys.exit(app.exec_())
    ```

Ответы (1 шт):

Автор решения: S. Nick

нет, размер меньше не получится. Ехе-шник много чего содержит, чтобы вы могли автономно его запускать.

А код я бы оформил так:

import sys
import keyboard
from PyQt5 import QtCore
from PyQt5.QtWidgets import QPushButton, QLineEdit, QApplication, QWidget


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(364, 489)
        Form.setMinimumSize(QtCore.QSize(364, 411))
        Form.setMaximumSize(QtCore.QSize(364, 500))
        Form.setAutoFillBackground(False)
        Form.setStyleSheet("color: #f20081;\n"
"background-color:#454545;")
        self.pushButton_7 = QPushButton(Form)
        self.pushButton_7.setGeometry(QtCore.QRect(10, 330, 75, 71))
        self.pushButton_7.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_7.setObjectName("pushButton_7")
        self.pushButton_8 = QPushButton(Form)
        self.pushButton_8.setGeometry(QtCore.QRect(100, 330, 75, 71))
        self.pushButton_8.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_8.setObjectName("pushButton_8")
        self.pushButton_4 = QPushButton(Form)
        self.pushButton_4.setGeometry(QtCore.QRect(10, 250, 75, 71))
        self.pushButton_4.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_5 = QPushButton(Form)
        self.pushButton_5.setGeometry(QtCore.QRect(100, 250, 75, 71))
        self.pushButton_5.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_5.setObjectName("pushButton_5")
        self.pushButton_9 = QPushButton(Form)
        self.pushButton_9.setGeometry(QtCore.QRect(190, 330, 75, 71))
        self.pushButton_9.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_9.setObjectName("pushButton_9")
        self.pushButton_6 = QPushButton(Form)
        self.pushButton_6.setGeometry(QtCore.QRect(190, 250, 75, 71))
        self.pushButton_6.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_6.setObjectName("pushButton_6")
        self.pushButton_3 = QPushButton(Form)
        self.pushButton_3.setGeometry(QtCore.QRect(190, 170, 75, 71))
        self.pushButton_3.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_3.setObjectName("pushButton_3")
        self.pushButton_2 = QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(100, 170, 75, 71))
        self.pushButton_2.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_1 = QPushButton(Form)
        self.pushButton_1.setGeometry(QtCore.QRect(10, 170, 75, 71))
        self.pushButton_1.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_1.setObjectName("pushButton_1")
        self.pushButton_equals = QPushButton(Form)
        self.pushButton_equals.setGeometry(QtCore.QRect(280, 330, 75, 151))
        self.pushButton_equals.setMinimumSize(QtCore.QSize(75, 58))
        self.pushButton_equals.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_equals.setObjectName("pushButton_equals")
        self.pushButton_plus = QPushButton(Form)
        self.pushButton_plus.setGeometry(QtCore.QRect(280, 170, 75, 151))
        self.pushButton_plus.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_plus.setObjectName("pushButton_plus")
        self.pushButton_minus = QPushButton(Form)
        self.pushButton_minus.setGeometry(QtCore.QRect(280, 90, 75, 71))
        self.pushButton_minus.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_minus.setObjectName("pushButton_minus")
        self.pushButton_mult = QPushButton(Form)
        self.pushButton_mult.setGeometry(QtCore.QRect(190, 90, 75, 71))
        self.pushButton_mult.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_mult.setIconSize(QtCore.QSize(16, 16))
        self.pushButton_mult.setObjectName("pushButton_mult")
        self.NumLine = QLineEdit(Form)
        self.NumLine.setGeometry(QtCore.QRect(10, 10, 341, 71))
        self.NumLine.setStyleSheet("font: 25 28pt \"Microsoft YaHei Light\";")
        self.NumLine.setText(" ")
        self.NumLine.setReadOnly(True)
        self.NumLine.setObjectName("NumLine")
        self.pushButton_C = QPushButton(Form)
        self.pushButton_C.setGeometry(QtCore.QRect(10, 90, 75, 71))
        self.pushButton_C.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_C.setObjectName("pushButton_C")
        self.pushButton_div = QPushButton(Form)
        self.pushButton_div.setGeometry(QtCore.QRect(100, 90, 75, 71))
        self.pushButton_div.setStyleSheet("QPushButton {\n"
"    font: 25 24pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_div.setObjectName("pushButton_div")
        self.pushButton_0 = QPushButton(Form)
        self.pushButton_0.setGeometry(QtCore.QRect(10, 410, 161, 71))
        self.pushButton_0.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_0.setObjectName("pushButton_0")
        self.pushButton_pow = QPushButton(Form)
        self.pushButton_pow.setGeometry(QtCore.QRect(190, 410, 75, 71))
        self.pushButton_pow.setStyleSheet("QPushButton {\n"
"    font: 25 28pt \"Microsoft YaHei Light\";\n"
"}\n"
"QPushButton:hover {\n"
"    background-color: #545454;\n"
"}")
        self.pushButton_pow.setObjectName("pushButton_pow")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton_7.setText(_translate("Form", "7"))
        self.pushButton_8.setText(_translate("Form", "8"))
        self.pushButton_4.setText(_translate("Form", "4"))
        self.pushButton_5.setText(_translate("Form", "5"))
        self.pushButton_9.setText(_translate("Form", "9"))
        self.pushButton_6.setText(_translate("Form", "6"))
        self.pushButton_3.setText(_translate("Form", "3"))
        self.pushButton_2.setText(_translate("Form", "2"))
        self.pushButton_1.setText(_translate("Form", "1"))
        self.pushButton_equals.setText(_translate("Form", "="))
        self.pushButton_plus.setText(_translate("Form", "+"))
        self.pushButton_minus.setText(_translate("Form", "-"))
        self.pushButton_mult.setText(_translate("Form", "*"))
        self.pushButton_C.setText(_translate("Form", "C"))
        self.pushButton_div.setText(_translate("Form", "/"))
        self.pushButton_0.setText(_translate("Form", "0"))
        self.pushButton_pow.setText(_translate("Form", "**"))


class Demo(QWidget, Ui_Form):
    def __init__(self):
        super(Demo, self).__init__()
        self.setupUi(self)
        
        self.nums = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
        
        keyboard.add_hotkey('Backspace', self.NumLine.backspace)            # !!!
        keyboard.add_hotkey('Enter', self.equals)
        self.pushButton_0.clicked.connect(lambda: self.NumLine.insert('0')) # lambda
        self.pushButton_1.clicked.connect(lambda: self.NumLine.insert('1'))
        self.pushButton_2.clicked.connect(lambda: self.NumLine.insert('2'))
        self.pushButton_3.clicked.connect(lambda: self.NumLine.insert('3'))
        self.pushButton_4.clicked.connect(lambda: self.NumLine.insert('4'))
        self.pushButton_5.clicked.connect(lambda: self.NumLine.insert('5'))
        self.pushButton_6.clicked.connect(lambda: self.NumLine.insert('6'))
        self.pushButton_7.clicked.connect(lambda: self.NumLine.insert('7'))
        self.pushButton_8.clicked.connect(lambda: self.NumLine.insert('8'))
        self.pushButton_9.clicked.connect(lambda: self.NumLine.insert('9'))
        self.pushButton_plus.clicked.connect(self.plus)
        self.pushButton_minus.clicked.connect(self.minus)
        self.pushButton_mult.clicked.connect(self.mult)
        self.pushButton_div.clicked.connect(self.div)
        self.pushButton_pow.clicked.connect(self.pow)
        self.pushButton_C.clicked.connect(self.NumLine.clear)                # +++
        self.pushButton_equals.clicked.connect(self.equals) 
        
    def equals(self):
        if self.NumLine.text()[0] != '0' and self.NumLine.text()[-1] in self.nums:
            f = self.NumLine.text()
            g = eval(f)
            self.NumLine.setText(str(g))
            
    def plus(self):
        if self.NumLine.text()[-1] in self.nums:
            self.NumLine.insert('+')

    def minus(self):
        if self.NumLine.text()[-1] in self.nums:
            self.NumLine.insert('-')

    def mult(self):
        if self.NumLine.text()[-1] in self.nums:
            self.NumLine.insert('*')

    def div(self):
        if self.NumLine.text()[-1] in self.nums:
            self.NumLine.insert('/')            

    def pow(self):
        if self.NumLine.text()[-1] in self.nums:
            self.NumLine.insert('**')
            

if __name__ == "__main__":
    app = QApplication(sys.argv)
    Form = Demo()
    Form.show()
    sys.exit(app.exec_())    

введите сюда описание изображения

→ Ссылка