我在 Windows 上使用 PyGtk。我的程序使用 GraphicsMagick 将 PDF 转换为图像,然后显示该图像。在多页 PDF 上,转换时间可能会很长,因此程序必须等待命令行返回,我需要解决这个问题,并允许用户在创建图像时使用 GUI。我尝试使用gtk的线程和python的线程到目前为止还没有成功,有没有一种方法可以轻松地调用GraphicsMagick转换作为后台进程并返回等待它返回?
我正在使用 subprocess(command) 从命令行执行转换。
最佳答案
只需使用 subprocess.Popen:
import subprocess
subprocess.Popen(["command", "arg1", "arg2"])
欲了解更多信息,请参阅: http://docs.python.org/library/subprocess.html#using-the-subprocess-module
如果您确实需要使用线程,请在 gtk.main()
之前使用 gtk.gdk.threads_init()
http://library.gnome.org/devel/pygtk/stable/gdk-functions.html#function-gdk--threads-init
关于python - Pygtk 线程化长命令行进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5503677/