Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
ShellGui - shellgui.py

shellgui.py

Caricato da: Umberto
Scarica il programma completo

  1. from Tkinter import *
  2. import sys
  3. import os
  4. import array
  5. import time
  6.  
  7. class Finestra(Tk):
  8.             def __init__(self):
  9.                     """Costruttore della classe Finestra
  10.                  """
  11.                     iargv = 1
  12.                     Tk.__init__(self)
  13.                     self.title(sys.argv[iargv])
  14.                     self.geometry("%dx%d" % (220, 150))
  15.                     i = 1
  16.                     iv = 1
  17.                     stext = 0
  18.                     itb = 0
  19.                     Etb = []
  20.                     while sys.argv[iargv] != "end":
  21.                         iargv = iargv + 1
  22.                         if sys.argv[iargv] == "button":
  23.                                 # creo il bottone
  24.                                 iargv = iargv + 1
  25.                                 buttontext = sys.argv[iargv]
  26.                                 iargv = iargv + 1
  27.                                 sym = sys.argv[iargv]
  28.                                 if sym == "%":
  29.                                     iargv = iargv + 1
  30.                                     comm = sys.argv[iargv]
  31.                                     b = Button(self, text=buttontext, command=lambda: self.action(sym,comm,iargv))
  32.                                     iargv = iargv + 1
  33.                                     locx = int(sys.argv[iargv])
  34.                                     iargv = iargv + 1
  35.                                     locy = int(sys.argv[iargv])
  36.                                     b.place(x=locx, y=locy)
  37.                                     i = i + 1
  38.                                 if sym == "&":
  39.                                     iargv = iargv + 1
  40.                                     comm = sys.argv[iargv]
  41.                                     b = Button(self, text=buttontext, command=lambda: self.action(sym,comm,iargv))
  42.                                     b.pack()
  43.                                     i = i + 1
  44.                         if sys.argv[iargv] == "label":
  45.                                 iargv = iargv + 1
  46.                                 ltext = sys.argv[iargv]
  47.                                 iargv = iargv + 1
  48.                                 sym = sys.argv[iargv]
  49.                                 if sym == "%":
  50.                                     iargv = iargv + 1
  51.                                     llocx = int(sys.argv[iargv])
  52.                                     iargv = iargv + 1
  53.                                     llocy = int(sys.argv[iargv])
  54.                                     w = Label(self, text=ltext)
  55.                                     w.place(x=llocx , y=llocy)
  56.                                 if sym == "&":
  57.                                     w = Label(self, text=ltext)
  58.                                     w.pack()
  59.                         if sys.argv[iargv] == "textbox":
  60.                                 iargv = iargv + 1
  61.                                 size = int(sys.argv[iargv])
  62.                                 E1 = Entry(self, bd =size)
  63.                                 E1.pack()
  64.                                 iargv = iargv + 1
  65.                                 buttontext = sys.argv[iargv]
  66.                                 iargv = iargv + 1
  67.                                 ff = sys.argv[iargv]
  68.                                 bb = Button(self, text=buttontext, command=lambda: self.actionc(E1,ff))
  69.                                 bb.pack()
  70.                                
  71.                     # registro l'evento di chiusura della finestra        
  72.                     self.protocol('WM_DELETE_WINDOW', self.__chiudi)
  73.                    
  74.             def mostra(self):
  75.                     """Visualizza la finestra
  76.                  """
  77.                     # mando in loop l'applicazione
  78.                     self.mainloop()
  79.             def actionc(self,E1,ff):
  80.  
  81.                 s = E1.get()
  82.                 miofile = open(ff,'a')
  83.                 miofile.write(s)
  84.                 miofile.close()
  85.             def action(self,sym,comm,iargv):
  86.                     """Stampa sullo standard output la stringa 'Hello world !
  87.                  """
  88.                     os.system(comm)
  89.             def __chiudi(self):
  90.                     """Chiude l'applicazione alla chiusura della finestra
  91.                  """
  92.                     self.destroy()
  93.                    
  94.                    
  95. if __name__ == '__main__':
  96.             f = Finestra()
  97.             f.mostra()