Я пытаюсь создать простой графический интерфейс для приложения конвертации видео под названием "HandBrake", используя PyQt.
Моя проблема в том, что когда я выбираю видеофайл для преобразования, подпроцесс Popen запускает приложение ручного тормоза с необходимыми аргументами, но в ожидании завершения ручного тормоза графический интерфейс блокируется, поэтому я не могу вносить никаких изменений. (Пример: я не могу ни отключить кнопку, ни изменить ее текст)
Я не ищу более сложное решение, такое как индикатор выполнения и т. Д., Но я бы хотел просто отключить кнопку и изменить ее текст в ожидании завершения конвертации программы.
Как я могу сделать это с python & pyqt?
def videoProcess():
self.pushButton.setEnabled(0)
self.pushButton.setText("Please Wait")
command = "handbrake.exe -i somefile.wmv -o somefile.mp4"
p = subprocess.Popen(str(command), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while 1:
line = p.stdout.readline()
if not line:
self.pushButton.setEnabled(1)
break