1

Gtk.Window在 Python 中有一个对象。这个对象本质上只不过是一个GtkWindow *. 是否有可能从 C (带有 a PyObject *)或 Python 实现GtkWindow *

我有一个用 Python 编写的应用程序,但某些特定小部件的渲染代码太慢了。我试图将它隔离在一个备用线程中,但我认为我被 GIL 咬了,因为我试图让两个线程做 CPU 工作。(后台线程,几乎 100% 的 CPU,在需要时与 UI 线程争夺太多时间,导致它没有响应。)如果我用 C 编写后台工作线程就足够简单了有指针。

4

1 回答 1

0

如果你有一个 PyGObject 它应该是这样的:

PyGObject *py_widget;
GtkWidget *widget;

if (!PyArg_ParseTuple(args, "O!", PyGObject_Type, &py_widget))
    return NULL;
widget = GTK_WIDGET(py_widget->obj);

(取自http://www.daa.com.au/pipermail/pygtk/2003-November/006292.html)只有我不知道如何将 PyObject 转换为 PyGObject。

于 2014-09-12T20:04:28.350 回答