Вы запускаете это в потоке, который отвечает за графический интерфейс.Вызов subprocess.call
возвращается только после завершения вызываемой программы.Пока он еще работает, функция просто сидит и ждет, поэтому ваш графический интерфейс также вынужден ждать.
Чтобы избежать этого, запустите эту функцию в другом потоке или используйте неблокирующую двоюродную сеструsubprocess.call
.