OK, que tal um exemplo claro e conciso (de trabalho):
-
quickly create ubuntu-application test
-
cd test
-
quickly design
- Adicione um botão em algum lugar com o Glade (por padrão, ele é chamado de "button1")
- Salve e feche o Glade
-
quickly edit
e vá para TestWindow.py -
Adicione o seguinte na parte superior do arquivo:
from multiprocessing import Process import subprocess
-
Adicione o seguinte ao final do arquivo e verifique se ele está indentado corretamente (pro tip: selecione o bloco de texto no Gedit e pressione a tecla para recuar o bloco inteiro):
def on_button1_clicked(self, widget, data=None): p = Process(target=self.launch_hardinfo) p.start() def launch_hardinfo(self): subprocess.call(["hardinfo"])
Essas duas funções funcionam juntas. Process.start () chama TestWindow.launch_hardinfo (que é o parâmetro target = para o construtor Process) em um novo thread para que subprocess.call () não bloqueie o aplicativo.
-
Salve o TestWindow.py
-
quickly run
ee clique no botão.
Eu tive um pequeno problema porque estava tentando atribuir sinais no Glade, mas você nem precisa fazer isso. A biblioteca Quickly, na verdade, permite que você faça coisas como on_button1_click (), o que significa "quando o controle chamado button1 é clicado". Simples assim! Espero que isso comece você.
Veja também: Criando o aplicativo do Ubuntu com rapidez