环境配置:
Win10 X64
Python 3.5.2 32 bit
Qt 5.5.1 MinGW 4.9.2 32.bit
Qt DLL代码实现:
extern "C" __declspec(dllexport) void showMessageWindow(char *msg)
{
QMessageBox::information(nullptr, "Title", msg);
}
extern "C" __declspec(dllexport) int add(int num1, int num2)
{
return num1 + num2;
}
python调用代码:
from ctypes import *
dll = cdll.LoadLibrary("QtDllTest.dll")
print("add result=", dll.add(1, 2))
dll.showMessageWindow(b"Hello, Python Call C++!");
python执行结果:
代码说明:
1. python正常调用add函数。执行结果打印出了"add result= 3";
2. python调用showMessageWindow失败。showMessageWindow设计GUI模块。
问题: python如何调用Qt带有GUI模块的DLL?
本人的探索:
python可以正常调用VC带UI的DLL.
网上资料建议在可执行程序下,加入Qt5.5.1/5.5/mingw492_32的platforms和plugins目录下所有内容.结果仍然出现上面的错误.