首页 > C 调用 包含 import wx 的 python文件出错

C 调用 包含 import wx 的 python文件出错

我想用c++ 调用python 做界面, 已经能用 c++调用python函数了,但是如果在 py文件里加入 import wx 就会出现错误.
调用的方法就是api 没用boost

这个是部分c++代码


#include <iostream>  
#include <Python.h>  

using namespace std;

void HelloWorld();

int main()
{
    cout << "Starting Test..." << endl;

    cout << "HelloWorld()-------------" << endl;
    HelloWorld();

    system("pause");
    return 0;
}

//调用输出"Hello World"函数  
void HelloWorld()
{
    Py_Initialize();              //使用python之前,要调用Py_Initialize();这个函数进行初始化  

    if (!Py_IsInitialized())
    {
        return;
    }

    PyObject * pModule = NULL;    //声明变量  
    PyObject * pFunc = NULL;      //声明变量  
    pModule = PyImport_ImportModule("Test001");              //这里是要调用的Python文件名  
    pFunc = PyObject_GetAttrString(pModule, "HelloWorld");   //这里是要调用的函数名  
    PyEval_CallObject(pFunc, NULL);                         //调用函数,NULL表示参数为空  
    Py_Finalize();                //调用Py_Finalize,这个和Py_Initialize相对应的.  
}

这个是py代码 ,去掉 import wx 就能运行起来了

import wx

def HelloWorld():  
    print "Hello World"  
    if __name__ == '__main__':
  app = wx.PySimpleApp()
  frame = MyFrame()
  frame.Show(True)
  app.MainLoop()
def add(a, b):  
    return a+b  
def TestDict(dict):  
    print dict  
    dict["Age"] = 17  
    return dict  
class Person:  
    def greet(self, greetStr):  
        print greetStr  
#print add(5,7)  
#a = raw_input("Enter To Continue...")

没装wx库吧

【热门文章】
【热门文章】