Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

PythonQt

查看数: 2294 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-4-4 16:28

正文摘要:

https://www.cnblogs.com/xia-weiwen/p/7932379.html 在Qt(C++)中与Python混合编程,可以使用PythonQt库。 网站首页:http://pythonqt.sourceforge.net 下载页面:https://sourceforge.net/projects/pythonqt/f ...

回复

Qter 发表于 2018-4-12 11:03:28
QT使用PythonQt添加输出
  1.     PythonQt::init();
  2.     pyq=PythonQt::self();
  3.     pyMainModule = pyq->getMainModule();
  4.     // connect output signals
  5.     connect(pyq,&PythonQt::pythonStdOut, this, &MainWindow::qcout);
  6.     connect(pyq,&PythonQt::pythonStdErr, this, &MainWindow::qcout);
复制代码

初始化之后添加connect,同时添加一个自定义的槽用于承载显示

注意connect中使用Python::self()会导致connect无效,需要自己定义一个PythonQt指针

  1. public slots:
  2.     void qcout(const QString& qs);
复制代码
https://blog.csdn.net/my393661/article/details/79327210

Qter 发表于 2018-4-12 10:22:40
本帖最后由 Qter 于 2018-4-12 10:59 编辑

参考测试用例,创建自己的项目
由于相关路径没有包含,参考示例,把相关配置信息添加到 .pro文件中
  1. include (./build/PythonQt.prf )
  2. include (./build/PythonQt_QtAll.prf )

  3. INCLUDEPATH +="/home/hechengjin/program/PythonQt3.2/src"
  4. INCLUDEPATH +="/home/hechengjin/program/PythonQt3.2/extensions/PythonQt_QtAll"
  5. INCLUDEPATH +="/usr/include/python2.7"
复制代码
另外还会报  No module named requests

由于机器上把requests安装在dist-packages目录中,如:/usr/lib/python2.7/dist-packages
所以找不到,下载安装包,放到python2.7同级目录中
下载地址 https://www.lfd.uci.edu/%7Egohlke/pythonlibs/

requests‑2.18.4‑py2.py3‑none‑any.whl  找这个文件,下载后,.whl改为.zip
把requests和requests-2.18.4.dist-info都放到/usr/lib/python2.7目录下
修改文件权限:
chmod -R 777 requests/
chmod -R 777 requests-2.18.4.dist-info/


再次执行自己的程序,报:"No module named urllib3"

同样的方法下载 urllib3‑1.21.1‑py2.py3‑none‑any.whl

# chmod -R 777 urllib3/
# chmod -R 777 urllib3-1.21.1.dist-info/

"No module named chardet"
chardet‑3.0.4‑py2.py3‑none‑any.whl

chmod -R 777 chardet/

"No module named certifi"
certifi-2018.1.18-py2.py3-none-any.whl
"cannot import name utils"  from . import utils 不知道在哪个文件中可以用 sudo pip install utils
utils-0.9.0-py2.py3-none-any.whl
https://pypi.python.org/pypi/utils/0.9.0#downloads
chmod -R 777 utils/

也不是上面这个,而是当前requests下的/usr/lib/python2.7/requests/utils.py
把 INCLUDEPATH +="/usr/lib/python2.7/requests" 也加入到 .pro文件中
也不对
....

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-26 04:15 , Processed in 0.060310 second(s), 23 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表