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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| #! /usr/bind/python3.4
# -*- utf8 -*-
#importation bibliotheque graphique
from tkinter import *
#importation bibliotheque shlex
import shlex
#importation bibliotheque subprocess
import subprocess
#------------------------------creation de fonctions---------------------------
# fonction pour quitter l'aplication
def quit():
fen1.destroy()
# creation de la fonction yesping
def yesping():
# creation d'une variable globale
global proc
# subprocess (lancer des processus parallèles avec des exécutables différents.
# dans un environnement différent)la j'ouvre xterm dans linux avec shlex pour
# les syntax
proc = subprocess.Popen(shlex.split('xterm -e ping 127.0.0.1'))
# modification du bouton et commande changer
btn1.configure(text='STOP', command=noping)
# modification du label (couleur changer)
lab1.configure(bg='red', fg='white')
# desactivation du bouton quitter pendan le ping
btn2.configure(state=DISABLED)
# creation de la fonction noping
def noping():
# creation d'une variable globale
global proc
# equivalent a (si) en français veut dire si proc et terminer
if proc:
proc.terminate()
# alor proc et none (et fini)
proc = None
# modification du bouton et commande changer
btn1.configure(text='GO', command=yesping)
# modification du label (couleur changer)
lab1.configure(bg='green', fg='white')
# activation du bouton quitter apres le ping
btn2.configure(state=NORMAL)
#------------------------------creation de la fenetres fen1--------------------
# declaration de la fenetre
fen1 = Tk()
# titre dans la fenetre
fen1.title('Ping-Party')
# largeur hauteur et position de la fenetre
fen1.geometry('600x300+200+200')
# bloquer le redimensionement
fen1.resizable(width=False, height=False)
#----------------------------creation des boutons------------------------------
# creation d'un bouton btn1
btn1 = Button(fen1, text='GO', width=10,height=1, command=yesping)
# placement du bouton btn1
btn1.place(x=220, y=46)
# creation du bouton btn2 (c'est le bouton quitter)
btn2 = Button(fen1, text='Quitter', width=10, height=1, command=quit)
# placement du bouton btn2
btn2.place(x=260, y=250)
#----------------------------creation des labels-------------------------------
# creation du label lab1
lab1=Label(fen1, text='Ping Locale IPV4', bg='green', fg='white')
# placement du label lab1
lab1.place(x=100, y=50)
#----------------------------boucle final de la fenetre------------------------
fen1.mainloop() |
Partager