python: le Processus est terminé avec le code de sortie 1 lors de l'utilisation de PyCharm et PyQt5

J'ai trois Python(3.4.3) les scripts. L'un d'eux est pour le contrôle de l' .l'interface utilisateur du fichier généré par PyQt5. Quand je lance l'interface graphique du programme, il accepte toutes les données et tout, et quand j'appuie sur le bouton OK sur un InputDialog la fenêtre se ferme et la console affiche.

Process finished with exit code 1

Lorsque j'exécute le même code sur Python IDLE, il montre:

<<<<<<RESTART>>>>>>

Cela n'a jamais happenned lorsque j'ai utilisé ce même Python(3.4.3 ou 2.7) code sur Visual Studio. Quelle pourrait être la raison?

Voici le code du fichier python contrôle de l' .fichier d'interface utilisateur.

import sys
from PyQt5 import QtCore, QtGui, uic, QtWidgets
from Email import encrypt_email
from Email import decrypt_email
from Email import newuser
qtCreatorFile = "rsegui.ui" # Enter file here.
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class MyApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
user, ok = QtWidgets.QInputDialog.getText(self, 'New User', 
'Are you a new user?')
user=str(user)
if user in "YESYesyesYy":
email, ok = QtWidgets.QInputDialog.getText(self, 'New User', 
'Enter Your Email ID:')
email1=str(email)
self.sender.setText(email)
newuser(email1)
self.encrypt_and_send.clicked.connect(self.EncryptEmail)
self.decrypt.clicked.connect(self.DecryptEmail)
self.clear.clicked.connect(self.ClearEncrypt)
self.clear_2.clicked.connect(self.ClearDecrypt)
self.sender.setPlaceholderText("Your Email ID")
self.receiver.setPlaceholderText("Receivers, Separate them by ';'")
self.subject.setPlaceholderText("Enter Subject")
self.message.setPlaceholderText("Enter Message")
self.sender_2.setPlaceholderText("Your Email ID")
self.message_2.setPlaceholderText("Encrypted Text")
def EncryptEmail(self):
sender = str(self.sender.text())
receiver = str(self.receiver.text())
receivers = receiver.split(';')
subject = str(self.subject.text())
message = str(self.message.text())
password, ok = QtWidgets.QInputDialog.getText(self, 'Password', 
'Enter your password:',QtWidgets.QLineEdit.Password)
encrypt_email(sender,receivers,subject,message,password)
def DecryptEmail(self):
email = str(self.sender_2.text())
message = str(self.message_2.text())
self.decrypted.setText(decrypt_email(email,message))
def ClearDecrypt(self):
self.sender_2.clear()
self.message_2.clear()
def ClearEncrypt(self):
self.sender.clear()
self.message.clear()
self.receiver.clear()
self.subject.clear()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
Très bonne question. Puisqu'il traite avec le code, il pourrait, je pense, être une bonne idée de fournir certains, ne pensez-vous pas? En outre, le traceback serait très utile aussi!
J'ai mis à jour la question avec le code. Pas de trace a été imprimé à la console.
une idée de pourquoi ce qui se passe?
Eh bien, vous sortez avec ce code de retour app.exec_() renvoie (dans votre cas, 1), alors je trace à partir de là. Sauf si vous pouvez poster un traceback, je n'ai pas la moindre idée non plus.
Si vous supprimez tout ce qui concerne le module e-Mail, faut-il encore sortir comme ça? Aussi, pouvez-vous poster le .fichier d'interface utilisateur?

OriginalL'auteur daipayan | 2015-12-18