2014-04-05 56 views
1

我在Python中有一個Gtk.Window對象。這個對象基本上只是一個圍繞GtkWindow *的包裝。從C(用PyObject *)還是Python來得到那個GtkWindow *有可能嗎?是否可以打開PyGTK對象?

我有一個應用程序,用Python編寫,但某些特定小部件的渲染代碼太慢了。我試圖在一個備用線程中隔離它,但我認爲我正在被GIL佔據一些位置,因爲我試圖讓兩個線程完成CPU的工作。 (後臺線程幾乎是100%的CPU,在需要的時候與UI線程相距太久,導致它無法響應。)如果我用C語言編寫後臺工作程序就足夠簡單了有指針。

回答

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。

相關問題