Bonjour,
Je suis d'un niveau débutant en programmation avec python 2.7.
J'ai un code pour une GUI qui fait appel à un autre script python pour envoie de MMS, comme suit :
Quand on appuie sur le bouton send ça fait appel au script send_mms.py avec les bons arguments, celui ci doit envoyer les MMS avec le bon système choisi, le numéro de destination indiqué ainsi que le nombre de MMS voulus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 #!c:/Python27/python.exe -u import send_mms import sys from Tkinter import * import Tkinter as Tk root = Tk.Tk() root.title('MMS MM4 Inbound Test Tool') def send(): send_mms.main(var.get(), v1.get(), v2.get()) var = IntVar() frame1 = Frame(root) frame1.pack() frame2 = Frame(root) frame2.pack() frame3 = Frame(root) frame3.pack() frame4 = Frame(root) frame4.pack() R1 = Radiobutton(frame1, text="Send MMS to Prod MSISDN", variable=var, value=1) R1.pack( anchor = W ) R2 = Radiobutton(frame1, text="Send MMS to Labo MSISDN", variable=var, value=2) R2.pack( anchor = W ) L1 = Label(frame2, text="Enter Receiving MSISDN here :") L1.pack( side = LEFT) v1 = StringVar() E1 = Entry(frame2, bd =5, textvariable=v1) E1.pack(side = RIGHT) L2 = Label(frame3, text="Enter number of MMS to send:") L2.pack( side = LEFT) v2 = StringVar() E2 = Entry(frame3, bd =5, textvariable=v2) E2.pack(side = RIGHT) S = Button(frame4, text="Send", command=send) S.pack( anchor = W ) root.mainloop()
Le script send_mms.py ressemble un peu à ça :
Où après l'envoi, une fenêtre pop-up pour indiquer l'envoi avec succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #!c:/Python27/python.exe -u import smtplib import time import os, sys from email.utils import formatdate from Tkinter import * def main(arg1, arg2, arg3): corps du code..... for x in range (1, num): smtpObj.sendmail(mailfrom, rcptto, message) status = "%d Successfully submitted MMS" % (x); frmMain = Tk() label = Label(frmMain, text = status) label.pack() frmMain.mainloop() if __name__=='__main__': sys.exit(main(sys.argv[1], sys.argv[2], sys.argv[3]))
Mais voilà sur la GUI quand en choisissant le système avec le bouton radio, entrant les champs num de tél + nombre de MMS et enfin cliquant sur le bouton send pour déclencher l'envoi, la fenêtre de succès pop-up mais rien ne se passe jusqu'à ce que je ferme cette fenêtre + la fenêtre de saisie aussi (avec le grand X à droite) ! et là je reçoit mes MMS...
J'ai comme l'impression qu'un des deux programmes (ou les deux) entre dans une boucle qui n'est brisé que par la fermeture des fenêtres.
J'ai essayé de placer des root.quit, root.destroy un peu partout mais ça donnait rien...
Est ce que quelqu'un peut jeter un coup d’œil sur mon code et m'aider à trouver où se situe le bobo ?
Merci d'avance,
Partager