2017-12-25 6 views
0

Ich bin Anfänger in Python. Ich habe versucht, einfaches Währungsprogramm zu entwickeln, aber ich habe Problem. Kann mir jemand helfen? Wenn ich auf "Çevir" klicke, sollte das Programm Geld berechnen (wie Tausch). Aber ich kann es nicht tun. PyCharm Schreib „Prozess mit Exit-Code 1 beendet“, wenn ich auf „çevir“Was bedeutet "Prozess beendet mit Exit Code 1"?

from PyQt5 import QtCore, QtGui, QtWidgets 
from PyQt5.QtGui import QIcon 
from PyQt5.QtWidgets import qApp 


class Ui_MainWindow(object): 
    def setupUi(self, MainWindow): 
     ....(qtdesigner codes . i skip this part) 


     self.pushButton.clicked.connect(self.cevirici) 
     self.pushButton_2.clicked.connect(self.cikis) 

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

    def retranslateUi(self, MainWindow): 
     _translate = QtCore.QCoreApplication.translate 
     MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) 
     self.label_2.setText(_translate("MainWindow", "Birinci Döviz")) 
     self.label.setText(_translate("MainWindow", "İkinci Döviz")) 
     self.label_3.setText(_translate("MainWindow", "Miktar")) 
     self.label_4.setText(_translate("MainWindow", "Sonuç :")) 
     self.pushButton.setText(_translate("MainWindow", "Çevir")) 
     self.pushButton_2.setText(_translate("MainWindow", "Çıkış Yap")) 

    def cevirici(self): 
     import requests 

     import sys 

     url = "http://api.fixer.io/latest?base=" 

     birinci_doviz = self.comboBox.currentText() 
     ikinci_doviz = self.comboBox_2.currentText() 

     miktar = int(self.lineEdit.currentText()) 

     response = requests.get(url + birinci_doviz) 

     json_verisi = response.json() 


     self.lineEdit_2.setText(json_verisi["rates"][ikinci_doviz] * miktar) 
    def cikis(self): 
     qApp.quit()  

if __name__ == "__main__": 
    import sys 
    app = QtWidgets.QApplication(sys.argv) 
    MainWindow = QtWidgets.QMainWindow() 
    ui = Ui_MainWindow() 
    ui.setupUi(MainWindow) 
    MainWindow.show() 
    sys.exit(app.exec_()) 
+4

Mögliches Duplikat von [python: Prozess beendet mit Beendigungscode 1 bei Verwendung von PyCharm und PyQt5] (https://stackoverflow.com/questions/34363552/python-process-finished-with-exit-code-1-when- using-pycharm-and-pyqt5) – NovaLogic

+0

Warum zeigt pycharm nicht nur das Traceback an? Der Exit-Code ist als Debug-Hilfe fast völlig nutzlos. – ekhumoro

+0

Der Beispielcode wird niemals von 'app.exec _()' zurückkommen und wird daher niemals 'sys.exit()' aufrufen. Der 'AttributeError' beendet sofort die Ausführung des Skripts. Aktuelle Versionen von pyqt5 rufen 'qFatal()' immer dann auf, wenn eine unbehandelte Exception auftritt, es sei denn, ein excepthook wurde installiert (siehe [hier] (http://pyqt.sourceforge.net/Docs/PyQt5/incompatibilities.html?highlight) = qfatal # unhandled-python-Ausnahmen)). In diesen Fällen ist der Prozessbeendigungscode plattformspezifisch. Auf Linux-Systemen ist es 134 ('SIGABRT'). – ekhumoro

Antwort

2

0 und 1 Exit-Codes sind, und sie sind nicht notwendigerweise spezifisch Python, in der Tat sind sie sehr verbreitet.

exit code (0) bedeutet einen Ausgang ohne Fehler oder Probleme.

exit code (1) bedeutet, es gab einige Problem/Problem, das das Programm zu beenden verursacht.

Die Wirkung jedes dieser Codes kann zwischen Betriebssystemen variieren, sollte aber mit Python ziemlich konsistent sein.

Verwandte Themen