Voila une simple copie du menu quiter de windows...
J'utilise Photoimage, qui affiche des screenshots du menu, utilisable sous tout les os ! (a condition de changer les fonctions)
Source / Exemple :
from sys import exit
from os import system
from Tkinter import *
from tkMessageBox import showinfo
flag=1
flag1=0
flag2=0
def eteindre (event=None):
system('shutdown.exe -s -t 0')
def redemarer (event=None) :
system('shutdown.exe -r -t 0')
def veille (event=None) :
system('rundll32.exe powrprof.dll,SetSuspendState')
def d (event=None):
global flag
flag+=1
if flag == 5 :flag= 4
mod()
def g (event=None):
global flag
flag-=1
if flag == 0 :flag= 1
mod()
def a (event=None):
global flag1
if not flag1 : flag1=1 ; mod(); root.after(10000,_a)
def _a (event=None):
global flag1
flag1=0
mod()
def m (event=None):
global foto,flag2,item2
if event.y in range(82,115):
if event.x in range (55,84):
if flag2 != 1 :
if flag2 !=0: can.delete(foto)
foto=PhotoImage(file='v.gif')
item2=can.create_image(69,97,image=foto)
flag2=1
elif event.x in range (175,208):
if flag2 != 2 :
if flag2 !=0: can.delete(foto)
foto=PhotoImage(file='e.gif')
item2=can.create_image(189,97,image=foto)
flag2=2
elif event.x in range (294,326):
if flag2 != 3 :
if flag2 !=0: can.delete(foto)
foto=PhotoImage(file='r.gif')
item2=can.create_image(308,98,image=foto)
flag2=3
else :
if flag2 !=0:
can.delete(item2)
flag2=0
elif event.x in range(310,368):
if event.y in range(169,188):
if flag2 != 4 :
if flag2 !=0: can.delete(foto)
foto=PhotoImage(file='c.gif')
item2=can.create_image(337,178,image=foto)
flag2=4
else :
if flag2 !=0:
can.delete(item2)
flag2=0
else :
if flag2 !=0:
can.delete(item2)
flag2=0
def mod (event=None) :
global photo,item
can.delete(item)
if flag1 :
if flag == 1 : photo=PhotoImage(file='dash_v_.gif')
elif flag == 2 : photo=PhotoImage(file='dash_e_.gif')
elif flag == 3 : photo=PhotoImage(file='dash_r_.gif')
elif flag == 4 : photo=PhotoImage(file='dash_c_.gif')
else : print 0
else :
if flag == 1 : photo=PhotoImage(file='dash_v.gif')
elif flag == 2 : photo=PhotoImage(file='dash_e.gif')
elif flag == 3 : photo=PhotoImage(file='dash_r.gif')
elif flag == 4 : photo=PhotoImage(file='dash_c.gif')
else : print 1
item=can.create_image(191,100,image=photo)
def jj (event=None) :
global flag2
if flag2 !=0:
can.delete(item2)
flag2=0
if event.y in range(82,115):
if event.x in range (55,84):
veille()
elif event.x in range (175,208):
eteindre()
elif event.x in range (294,326):
redemarer()
elif event.x in range(310,368):
if event.y in range(169,188):
exit()
root=Tk()
root.title('exit window')
root.bind('<Right>',d)
root.bind('<Left>',g)
root.bind('<m>',veille)
root.bind('<t>',eteindre)
root.bind('<r>',redemarer)
root.bind('<Alt-a>',a) # pour simuler le alt
can=Canvas(height=200,width=382,bg='grey')
photo=PhotoImage(file='dash_v.gif')
item=can.create_image(191,100,image=photo)
can.grid(row=1,column=0,columnspan=5)
can.bind('<Button1-Motion>',m)
can.bind('<Button-1>',m)
can.bind('<Button1-ButtonRelease>',jj)
root.mainloop()
Conclusion :
Attention l'ordi se redemare et s'éteint vraiment !!!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.