Ciao a tutti,

mi son messo a fare delle prove per abbinare, a dei pulsanti di una GUI in Python, comandi + argomenti:

ho provato a leggere qualcosa del modulo subprocess ma non ho ancora capito un gran che, anche se mi piacerrebbe conoscerne gli aspetti più importanti per rapportarsi con il proprio OS

In particolare comunque, non riesco a capire come poter riuscire a visualizzare in gnome-terminal o nella shell di python l'output del comando (comando che mi interessa scrivere per ora in formato shell bash, visto che non sono particissimo di python)

Per esempio per visualizzare qualcosa di semplice tipo l'output di gedit -h come dovrei modificare il seguente codice?

from Tkinter import *

class AvvioApp:

    def __init__(self, Genitore):

        # Variabili ------------
        self.Padre=Genitore
        self.txt02="Gedit"

        # Frame e widget -------
        self.fr01= Frame(Genitore)
        self.fr01.configure(bg="blue", height=100)
        self.fr01.pack()

        self.puls02=Button(self.fr01, text=self.txt02, bd=3, width=15)
        self.puls02.bind("<Button-1>", self.avvioGedit)
        self.puls02.grid(row=0, column=1)

    # Funzioni per gli eventi

    def avvioGedit(self, evento):        
        from  subprocess import *
        subprocess.call(['gedit', '-h'], shell=True)

def main():

    janela = Tk()
    janela.title("Proviamo.....")
    avvioApp = AvvioApp(janela)
    janela.mainloop()

main()

chiesto 25 Jul '14, 12:04

gisnio-sell's gravatar image

gisnio-sell
881576279

modificato 25 Jul '14, 15:17


Dopo varie ricerche e tentativi ho risolto gran parte del problema nel seguente modo (esempio):

Per abbinarlo al pulsante :

def Azione_voluta(self):

   import subprocess    
   v1 = ('libreoffice')                 # variabile con l'applicazione da lanciare
   v2 = ('/home/miaHome/Doc/prova.xls') # stabilisco il percorso del file da aprire
   v3 = ('bla bla')                     # eventuali altre opzioni del comando
   vFin = ("%s %s %s" % (v1,v2,v3))     # trasformo le var. in stringa senza virgole
   subprocess.call(vFin, shell=True)    # svolgo il processo "usando il terminale"

in questo modo esegue il comando come fosse da terminale aprendomi il file richiesto :), Ho creato una funzione da poter inserire nelle opzioni per l'uso del pulsante nel modulo creatore di GUI che si sceglie (nel mio caso sono passato a PyQt4)

coll. permanente

ha risposto 07 Aug '14, 17:36

gisnio-sell's gravatar image

gisnio-sell
881576279

modificato 07 Aug '14, 18:36

Perfetto! :)

Se ti va, accetta la tua risposta ;)

(07 Aug '14, 21:28) dadexix86 ♦♦ dadexix86's gravatar image
1

ciao Dadexis ... in realtà non mi sono risposto in modo completo ancora ;D

(07 Aug '14, 23:29) gisnio-sell gisnio-sell's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×105
×40
×9
×2

domanda posta: 25 Jul '14, 12:04

domanda visualizzata: 3,593 volte

ultimo aggiornamento: 07 Aug '14, 23:29

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.