python - Pygtk 线程化长命令行进程

标签 python command-line pygtk graphicsmagick

我在 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/

相关文章:

python - 使用 itertools 创建选项矩阵

python - 在 GEKKO 中设置动态模拟的初始值和稳态结果

eclipse - 我们可以通过命令行使用 mvn build 命令吗

java - 如何在命令行上使用不同版本的 Java

python - pygtk 拖放问题 : file to GtkFileChooserButton

python - 将自定义函数应用于 PySpark 中数据框选定列的单元格

python - 如何在Python中的数据框中将日期时间舍入为十分钟日期时间

perl - perl 中大写 "-E"开关和小写 "-e"有什么区别?

python - 按钮上未显示的股票图标

python - 是否可以使用 Glade 和 PyDev 在 Gtk+ 3 工具按钮标签上使用 pango 标记文本?