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_())
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
Warum zeigt pycharm nicht nur das Traceback an? Der Exit-Code ist als Debug-Hilfe fast völlig nutzlos. – ekhumoro
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