稀裡糊塗的,用 Python 或用 C++ Qt都能寫點小程序出來。然後對Python + Qt開始有點興趣:想學PyQt4,想了解PythonQt,也期待PySide的Windows版本。但總覺得這三個東西都蠻神秘的,看看資料也總是似懂非懂
PythonQt 是從 C++ 調用 Python (類似QtScript)
PyQt4 和 PySide 是從 Python 調用 C++
http://www.pyside.org
http://www.riverbankcomputing.co.uk
http://pythonqt.sourceforge.net/
怎麼辦呢?還是從基礎開始吧:應該是就是 Python 與 C 的相互調用了(先找找資料,整理一下思路)
Python 與 C 的相互交互方式可看成有兩種:
python manual
Extending and Embedding the Python Interpreter
Python/C API Reference Manual
其他:
Python C API 使用心得
Python與C之間的相互調用(Python C API及Python ctypes庫)
用 Python 來調用 C 模塊,即:用 C 來擴展 Python。
比如 我們編寫一個 C 函數
void abcd()
{
}
然後將其編譯成 abcd.dll
但要使得 C 能被 Python 調用,僅這樣還不行,我們寫的C的代碼需要遵循某種規則,只有這樣,Python才能識別這個模塊
比如:我們想用下面的代碼來調用 上面的函數:
import abcd
abcd.abcd()
也就是說,我們需要一個函數
PyMODINIT_FUNC initabcd();
static struct PyMethodDef anyname[]={}
static PyObject * wrap(PyObject * self, PyObject * args)