Найти - Пользователи
Полная версия: Вопрос по PyGTK
Начало » GUI » Вопрос по PyGTK
1
MaXvAnDl
Подскажите. Есть приложение на PyGTK
#!/usr/bin/python 
# -*- coding: utf-8 -*-
import gtk
import subprocess
import os
import threading
win = gtk.Window()
def btn1_clicked(btn1):
subprocess.call('setup.sh',shell=True)
win.set_default_size(300, 50)
win.set_border_width(100)
win.connect('destroy', gtk.main_quit)
win.set_title('Driver setup')
txtvar = 'Установка драйверов модема SkyLink \n'
txt = gtk.Label(txtvar)
txt.show()
btn = gtk.Button('Выход')
btn.connect('pressed', lambda button: gtk.main_quit())
btn.show()
btn1 = gtk.Button('Запуск')
btn1.connect('clicked', btn1_clicked )
btn1.show()
box = gtk.HBox()
box.pack_start(txt)
box.pack_start(btn)
box.pack_start(btn1)
win.add(box)
win.add(box)
win.add(box)
box.show()
win.show()
gtk.main()
Хочется сделать чтобы по нажатию на кнопку Запуск скрипт setup.sh продолжал работать, а приложение завершило работу (надо чтобы окошко закрылось без завершения скрипта).
clopomor
викликати
nohup ./setup.sh &
gmorgunov
Привет.
Вместо subprocess.call() используйте subprocess.Popen(). Об этом хорошо написано по-русски в книге ‘Python в системном администрировании UNIX и Linux’ Ноа Гифт, Джереми Джонс.
Вот рабочий код, проверил :):
#!/usr/bin/python                
# -*- coding: utf-8 -*-
import gtk
import subprocess

win = gtk.Window()
def btn1_clicked(btn1):
gtk.main_quit()
subprocess.Popen('python setup_sh.py',shell=True)
win.set_default_size(300, 50)
win.set_border_width(100)
win.connect('destroy', gtk.main_quit)
win.set_title('Driver setup')
txtvar = 'Установка драйверов модема SkyLink '
txt = gtk.Label(txtvar)
txt.show()
btn = gtk.Button('Выход')
btn.connect('pressed', lambda button: gtk.main_quit())
btn.show()
btn1 = gtk.Button('Запуск')
btn1.connect('clicked', btn1_clicked )
btn1.show()
box = gtk.HBox()
box.pack_start(txt)
box.pack_start(btn)
box.pack_start(btn1)
win.add(box)
box.show()
win.show()
gtk.main()
Где, setup_sh.py:
#!/usr/bin/python
# -*- coding: utf-8 -*-
while True:
print 'Установка драйверов модема SkyLink '
MaXvAnDl
Огромное спасибо две недели думал, а до subprocess.Popen('python setup_sh.py',shell=True) так и не додумался. Спасибо :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB