Optimize opening of a Python program

0

I find the following problem, I have the following code, but it takes a long time to open the first time, I would like to know if there is any way to optimize the code.

Or something like that here I leave my code:

The interface is in a separate file.ui

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5 import uic
from PyQt5 import QtCore, Qt, QtGui
qss='''
QMainWindow{
    background-color:qlineargradient(spread:reflect, x1:0.209, y1:0.006, x2:0.655367, y2:0.404, stop:0 rgba(88, 93, 99, 105), stop:1 rgba(20, 25, 29, 205))
}
QLineEdit#lineEdit{
border-radius:0px;
background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 0));
color:'white';
font:16pt;
border-bottom-style:solid;
border-width:1px;
border-color: lightgreen;

}
'''
qss2='''
QLineEdit#lineEdit{
border-radius:0px;
background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 0, 0), stop:1 rgba(255, 255, 255, 0));
color:'white';
font:16pt;
border-bottom-style:solid;
border-width:1px;
border-color: lightgray;

}

'''

class Principal(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        uic.loadUi("nuevo.ui",self)

        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True )
        self.setAttribute(QtCore.Qt.WA_NoSystemBackground, False)
        QMainWindow.setFocus(self.lineEdit)

        self.bclose.clicked.connect(self.close)
        self.bmin.clicked.connect(self.showMinimized)
        self.bclear.setVisible(False)

        self.bclear.clicked.connect(lambda:self.lineEdit.setText(""))
        self.bclear.clicked.connect(lambda:self.bclear.setVisible(False))
        self.bclear.clicked.connect(lambda:self.lineEdit.setStyleSheet(qss2))
        self.bclear.clicked.connect(lambda:self.lineEdit.setFocus())

        self.b0.clicked.connect(lambda:self.anadir("0"))
        self.b1.clicked.connect(lambda:self.anadir("1"))
        self.b2.clicked.connect(lambda:self.anadir("2"))
        self.b3.clicked.connect(lambda:self.anadir("3"))
        self.b4.clicked.connect(lambda:self.anadir("4"))
        self.b5.clicked.connect(lambda:self.anadir("5"))
        self.b6.clicked.connect(lambda:self.anadir("6"))
        self.b7.clicked.connect(lambda:self.anadir("7"))
        self.b8.clicked.connect(lambda:self.anadir("8"))
        self.b9.clicked.connect(lambda:self.anadir("9"))
        self.bmsm.clicked.connect(lambda:self.anadir("±"))
        self.bmas.clicked.connect(lambda:self.anadir("+"))
        self.bmin_2.clicked.connect(lambda:self.anadir("-"))
        self.bm.clicked.connect(lambda:self.anadir("*"))
        self.bdiv.clicked.connect(lambda:self.anadir("/"))
        self.dpor.clicked.connect(lambda:self.anadir("%"))
        self.bpont.clicked.connect(lambda:self.anadir("**"))
        self.bp.clicked.connect(lambda:self.anadir("."))
        self.bigual.clicked.connect(lambda:self.evaluacion())

        self.bigual.clicked.connect(self.evaluacion)
        self.regx=QtCore.QRegExp(r"[-+%*/()\[\].\d ]*")
        self.validador = QtGui.QRegExpValidator(self.regx)
        self.lineEdit.setValidator(self.validador)
        self.lineEdit.installEventFilter(self)


    def anadir(self,que):
        actual = self.lineEdit.text()
        self.lineEdit.setText(actual + que)
        self.lineEdit.setFocus()

    def evaluacion(self):
        try:
            n = eval(str(self.lineEdit.text()))
            conver = str(n)
            conver2 = str(n)[0:10]
            ref = len(conver)
            ref1 = str(len(conver)-10)

            if ref > 20:
                self.lineEdit.setText(conver2+" e"+ref1)

            else:
                self.lineEdit.setText(conver)
            self.lineEdit.setStyleSheet(qss)
            self.bclear.setVisible(True)
        except SyntaxError:
            self.lineEdit.setText("Error de Sintaxis")
            self.bclear.setVisible(True)
        except TypeError:
            self.lineEdit.setText("Error de Sintaxis")
            self.bclear.setVisible(True)


    def keyPressEvent(self,event):
        if event.key() == QtCore.Qt.Key_Return:
            self.evaluacion()
        event.accept()

    def mousePressEvent(self,event):
        if event.button() == QtCore.Qt.LeftButton:
            self.dragPosition = event.globalPos() - self.frameGeometry().topLeft()
            event.accept()

    def mouseMoveEvent(self,event):
        if event.buttons() == QtCore.Qt.LeftButton:
            self.move(event.globalPos() - self.dragPosition)
            event.accept()



app = QApplication([])
app.setStyleSheet(qss)
p = Principal()
p.show()
app.exec_()
    
asked by Revsky01 10.05.2018 в 01:01
source

0 answers