Quantcast
Channel: Preguntas activas con las etiquetas pyqt - Stack Overflow en español
Viewing all articles
Browse latest Browse all 77

Cada vez que oprimo el boton el programa se cierra automaticamente

$
0
0

Tengo un problema con mi programa, cada vez que lo corro y oprimo el botón de mi GUI el programa se cierra automaticamente. Cree una función que al momento de darle click al botón obtenga los datos de los lineEdit y obtenga el estado de los radioButtons, y a partir del radioButton seleccionado realice una operación.

Este es el codigo

from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBoxfrom PyQt5 import uic#Clase Heredada de QMainWindow (Constructor de ventana)class Ventana(QMainWindow):      #Metodo constructor de la clase      def __init__(self):            #Iniciar el objeto QMainWindow            QMainWindow.__init__(self)            #Cargar la Configuracion del archivo ui en el objeto            uic.loadUi("Bocinas.ui",self)            self.pushButton.clicked.connect(self.Guardar)      def closeEvent(self,event):            resultado = QMessageBox.question(self,"Salir..","¿Seguro quiere salir?",QMessageBox.Yes | QMessageBox.No)            if resultado == QMessageBox.Yes:                  event.accept()            else:                  event.ignore()      def Guardar(self):            st = self.lineEdit.text()            l = self.lineEdit_2.text()            xo = self.lineEdit_3.text()            m = self.lineEdit_4.text()            M = self.lineEdit_5.text()            sx=[]            if self.radioButton.isChecked():                  for i in range(l):                        s=st*((i/xo)**2)                        sx.append(s)            elif self.radioButton_2.isChecked():                  for i in range(l):                        s=st*((i/xo)**2)                        sx.append(s)            elif self.radioButton_3.isChecked():                  for i in range(l):                        s=st*((i/xo)**2)                        sx.append(s)            elif self.radioButton_4.isChecked():                  for i in range(l):                        s=st*((i/xo)**2)                        sx.append(s)            else:                  opcion = QMessageBox.Retry(self,"Seleccione algun tipo de Bocina")#Instancia para iniciar una appapp = QApplication(sys.argv)#Crear un objeto de la clase_ventana = Ventana()#Mostrar ventana_ventana.show()#Ejecutar appapp.exec_()

Gracias por la ayuda

Tengo un problema con mi programa, cada vez que lo corro y oprimo el botón de mi GUI el programa se cierra automaticamente. Cree una función que al momento de darle click al botón obtenga los datos de los lineEdit y obtenga el estado de los radioButtons, y a partir del radioButton seleccionado realice una operación.

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'Bocinas.ui'## Created by: PyQt5 UI code generator 5.14.1## WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName("MainWindow")        MainWindow.resize(800, 600)        self.centralwidget = QtWidgets.QWidget(MainWindow)        self.centralwidget.setObjectName("centralwidget")        self.pushButton = QtWidgets.QPushButton(self.centralwidget)        self.pushButton.setGeometry(QtCore.QRect(560, 140, 191, 51))        self.pushButton.setObjectName("pushButton")        self.graphicsView = QtWidgets.QGraphicsView(self.centralwidget)        self.graphicsView.setGeometry(QtCore.QRect(60, 280, 311, 251))        self.graphicsView.setObjectName("graphicsView")        self.layoutWidget = QtWidgets.QWidget(self.centralwidget)        self.layoutWidget.setGeometry(QtCore.QRect(70, 100, 273, 153))        font = QtGui.QFont()        font.setPointSize(14)        self.layoutWidget.setFont(font)        self.layoutWidget.setObjectName("layoutWidget")        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget)        self.verticalLayout.setContentsMargins(3, 1, 0, 10)        self.verticalLayout.setSpacing(4)        self.verticalLayout.setObjectName("verticalLayout")        self.label = QtWidgets.QLabel(self.layoutWidget)        font = QtGui.QFont()        font.setPointSize(14)        self.label.setFont(font)        self.label.setObjectName("label")        self.verticalLayout.addWidget(self.label)        self.label_2 = QtWidgets.QLabel(self.layoutWidget)        font = QtGui.QFont()        font.setPointSize(14)        self.label_2.setFont(font)        self.label_2.setObjectName("label_2")        self.verticalLayout.addWidget(self.label_2)        self.label_3 = QtWidgets.QLabel(self.layoutWidget)        font = QtGui.QFont()        font.setPointSize(14)        self.label_3.setFont(font)        self.label_3.setObjectName("label_3")        self.verticalLayout.addWidget(self.label_3)        self.label_4 = QtWidgets.QLabel(self.layoutWidget)        font = QtGui.QFont()        font.setPointSize(14)        self.label_4.setFont(font)        self.label_4.setObjectName("label_4")        self.verticalLayout.addWidget(self.label_4)        self.label_5 = QtWidgets.QLabel(self.layoutWidget)        font = QtGui.QFont()        font.setPointSize(14)        self.label_5.setFont(font)        self.label_5.setObjectName("label_5")        self.verticalLayout.addWidget(self.label_5)        self.radioButton = QtWidgets.QRadioButton(self.centralwidget)        self.radioButton.setGeometry(QtCore.QRect(410, 340, 171, 21))        self.radioButton.setObjectName("radioButton")        self.radioButton_2 = QtWidgets.QRadioButton(self.centralwidget)        self.radioButton_2.setGeometry(QtCore.QRect(410, 370, 171, 21))        self.radioButton_2.setObjectName("radioButton_2")        self.radioButton_3 = QtWidgets.QRadioButton(self.centralwidget)        self.radioButton_3.setGeometry(QtCore.QRect(410, 400, 171, 21))        self.radioButton_3.setObjectName("radioButton_3")        self.radioButton_4 = QtWidgets.QRadioButton(self.centralwidget)        self.radioButton_4.setGeometry(QtCore.QRect(410, 430, 171, 21))        self.radioButton_4.setObjectName("radioButton_4")        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)        self.lineEdit.setGeometry(QtCore.QRect(380, 100, 161, 21))        self.lineEdit.setObjectName("lineEdit")        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)        self.lineEdit_2.setGeometry(QtCore.QRect(380, 130, 161, 21))        self.lineEdit_2.setObjectName("lineEdit_2")        self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)        self.lineEdit_3.setGeometry(QtCore.QRect(380, 160, 161, 21))        self.lineEdit_3.setObjectName("lineEdit_3")        self.lineEdit_4 = QtWidgets.QLineEdit(self.centralwidget)        self.lineEdit_4.setGeometry(QtCore.QRect(380, 190, 161, 21))        self.lineEdit_4.setObjectName("lineEdit_4")        self.lineEdit_5 = QtWidgets.QLineEdit(self.centralwidget)        self.lineEdit_5.setGeometry(QtCore.QRect(380, 220, 161, 21))        self.lineEdit_5.setObjectName("lineEdit_5")        MainWindow.setCentralWidget(self.centralwidget)        self.menubar = QtWidgets.QMenuBar(MainWindow)        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))        self.menubar.setObjectName("menubar")        self.menuArchivo = QtWidgets.QMenu(self.menubar)        self.menuArchivo.setObjectName("menuArchivo")        MainWindow.setMenuBar(self.menubar)        self.statusbar = QtWidgets.QStatusBar(MainWindow)        self.statusbar.setObjectName("statusbar")        MainWindow.setStatusBar(self.statusbar)        self.actionAbrir = QtWidgets.QAction(MainWindow)        self.actionAbrir.setObjectName("actionAbrir")        self.actionGuardar = QtWidgets.QAction(MainWindow)        self.actionGuardar.setObjectName("actionGuardar")        self.menuArchivo.addAction(self.actionAbrir)        self.menuArchivo.addAction(self.actionGuardar)        self.menubar.addAction(self.menuArchivo.menuAction())        self.retranslateUi(MainWindow)        QtCore.QMetaObject.connectSlotsByName(MainWindow)    def retranslateUi(self, MainWindow):        _translate = QtCore.QCoreApplication.translate        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))        self.pushButton.setText(_translate("MainWindow", "Graficar"))        self.label.setText(_translate("MainWindow", "Área de garganta"))        self.label_2.setText(_translate("MainWindow", "Longitud"))        self.label_3.setText(_translate("MainWindow", "Distancia entre origen y garganta"))        self.label_4.setText(_translate("MainWindow", "Ensanchamiento"))        self.label_5.setText(_translate("MainWindow", "Factor de forma"))        self.radioButton.setText(_translate("MainWindow", "Conica"))        self.radioButton_2.setText(_translate("MainWindow", "Catenoidal"))        self.radioButton_3.setText(_translate("MainWindow", "Hiperbolica"))        self.radioButton_4.setText(_translate("MainWindow", "Exponencial"))        self.menuArchivo.setTitle(_translate("MainWindow", "Archivo"))        self.actionAbrir.setText(_translate("MainWindow", "Abrir"))        self.actionGuardar.setText(_translate("MainWindow", "Guardar"))

Aqui esta el codigo de Bocinas.py, extraido de Bocinas.ui


Viewing all articles
Browse latest Browse all 77

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>