Я изучаю Python и wxPython одновременно ... :) Итак, у меня есть набор файлов Python, которые отлично работают из командной строки: ./scan -d test ~/Pictures
- например, создаст базу данных моих изображенийпод названием «test».
Я усердно работал над этим (я не писал исходные файлы Python для командной строки), и я могу заставить его работать, используя:
def bt_ScanUpdateClick(self, event):
self.SetSizeWH(450,360)
## DEBUG
self.tc_MainDatabase.Value = "test.db"
if self.tc_MainDatabase.Value == "":
self.LogWindow.Value += "ERROR:\tNo database name selected!\n"
else:
scanCMD = "./scan -d " + self.tc_MainDatabase.Value + " "
numLines=0
maxLines=(int(self.multiText.GetNumberOfLines()))
if self.multiText.GetLineText(numLines) == "":
self.LogWindow.Value += "ERROR\tNo folder selected to scan!\n"
else:
self.LogWindow.Value += "Running Scan...\n\n"
while (numLines < maxLines):
scanCMD += str(self.multiText.GetLineText(numLines)) + " "
numLines += 1
self.LogWindow.Value += scanCMD
p = subprocess.Popen([scanCMD],shell=True,stdout=subprocess.PIPE,stdin=subprocess.PIPE)
self.LogWindow.Value += p.communicate()[0]
Это создает для меня проблему:
- Как только я нажимаю кнопку, чтобы активировать ее, она даже не достигает части self.SetSizeWH (450,360) функции.Он просто остается в «выключенном» состоянии.Когда команда выполнена, приложение возвращается к жизни со всем в окне вывода (self.LogView) уже ... Я хотел бы получить вывод в режиме "реального времени" ... возможно?
Есть мысли?