‘壹’ qt中c++调用python是含类的模块导入怎么处理呢
#include <QCoreApplication>
#include
<Python.h>
#include
<iostream>
using
namespace
std;
int
main(
int
argc,
char
argv[]) { QCoreApplication a(argc, argv);
//
初始化python模块
Py_Initialize();
if
( !
Py_IsInitialized() ) {
return
; }
//
导入test.py模块
PyObject* pMole = PyImport_ImportMole(
test
);
if
(!
pMole) { printf(
Cant open python file!\n
);
return
; }
//
获取test模块中的hello函数
PyObject* pFunhello= PyObject_GetAttrString(pMole,
hello
);
//
注释掉的这部分是另一种获得test模块中的hello函数的方法
//
PyObject* pDict = PyMole_GetDict(pMole);
//
if (!pDict) {
//
printf("Cant find dictionary.\n");
//
return -1;
//
//
PyObject* pFunhello = PyDict_GetItemString(pDict, "hello");
if
(!
pFunhello){ cout
<<
Get function hello failed
<<
endl;
return
; }
//
调用hello函数
PyObject_CallFunction(pFunhello,NULL);
//
结束,释放python
Py_Finalize();
return
a.exec(); }
‘贰’ Python 使用Qt 报错:No mole named 'PySide2'
Qt 生成Python的项目后,运行报错 No mole named 'PySide2'
这个时候配唯需要安装对应的模块,旁虚执行命令
打开命令行,进入生成项目的根目录,运卖燃运行文件,这里要注意如果是 pip 安装的,对应的是系统自带的 python 命令,一般是python2.+ 的版本。 如果是pip3 安装, 对应的 python3 命令,如果使用错命令,依然会报错
‘叁’ QT中调用Python
如果你是嵌入的话,应该没问题。python的库会暴露c api的,你的qt程序照着python文档中的embedded章节就好。 看样子,你的是linux下的,不过一般头文件就是include/python.h,怎么会是include/python2.7呢?你写错了吧。库文件应该是在lib下面。
‘肆’ 怎样用QtCreator编辑运行python脚本
我们首先来看看QtCreator能不能编辑运行python脚本。
可以看到新建项目的选项里并没有python相关的选项,看了并不能用QtCreator来管理python项目。
我们来看看另一个方面,看看QtCreator能不能创建编辑python的相关文件吧。
可以看到,有python的相关选项,点击左侧的Python标签,在中间部分可以看到有Python class和Python file两个选项。
这里我们选择Python file,然后点击choose按钮。然后在名称一栏输入qtpythondemo,然后点击下一步。再点击完成,就进入到编辑界面了。我们来看看情况。
可以看到确实可以编辑python脚本文件。
我们来看看能否运行该脚本,在脚本里输入:
print("hello world")
可是我们发现调试菜单,以及界面左下角的运行等按钮都是灰色的,显然用不了。
如果,QtCreator只能进行编辑的话,还不如直接使用IDLE来的方便,或者任何一个功能稍强大的文本编辑器更好,这样岂不是很鸡肋。
下面,我们给QtCreator添加上执行python脚本的功能。
点击,工具菜单,选项打开选项窗口。
点击界面左侧的 环境,右侧选择 外部工具 标签,再点击下面的 添加 按钮,先选择 添加目录 ,然后将新类别修改为RunPy,这个你可以自己取。
点击选中RunPy,然后再点击 添加 按钮,选择 添加工具。这时右侧的灰色区域就处于可编辑状态了。当然新工具也要命名,就用Python3吧。
下面,我们需要对右侧的内容进行编辑设置。具体如下:
1、说明:可以是任何你喜欢的内容,这里我们输入“运行编辑的Python3脚本”
2、执行档:就是python的可执行文件路径,我的是C:\Python34\python.exe
3、参数:输入 %{CurrentDocument:FilePath}
4、工作目录:%{CurrentDocument:Path}
5、Environment:QT_LOGGING_TO_CONSOLE=1
其他的默认即可。上面带有%的是QtCreator的内置环境变量而已,当我们选中某个文本框时,可以看到文本框右侧有个ABC字母的按钮,点开后可以看到很多环境变量列表。
最后,点击Apply和OK即可。
我们来看看配置完成后的情况。
好了,配置完成后,我们来看看怎么运行。
可是调试菜单和左下角的按钮还是灰色呀,没关系。我们刚才是在外部工具的标签页里添加的设置,那就去外部工具找找吧。
我们看到了 外部-RunPy-Python3 正是我们刚刚设置的。
点击Python3看看有什么会发生。
我们看到,界面下方弹出了 概要信息 窗口,里面正是上面 python 脚本的输出。YES!我们成功了!
‘伍’ 我使用QT做好了界面,用python写好了功能,怎么把两者连接起来呢
答:我知道目前你应该就是用qt designer设计好了界面,然后你的Python代码是PyCharm,那么要将两者连接起来的话,有两种方法。
直接加载UI文件
希望对你有帮助~
‘陆’ 怎样用QtCreator编辑运行python脚本
不知道你是在Windows还是在linux系统上
在windows上面先 Win+R 然后 进入CMD 命令行-> 输入:cd py文件的目录
进入你py文件所在的目录后 输入:python 脚本文件名.py 就可以运行了
在linux下,模拟终端输入:python 然后把你的脚本拖进命令行就可以运行了
‘柒’ QTpython环境是好的 怎么调用项目外的.py文件
来这世界一趟,一定要努力看看所有的美好。