我在Qt里写一个向串口写数据的程序,但是提示QIODevice::write: device not open,不知道怎么解决!

我在Qt里写一个向串口写数据的程序,但是提示QIODevice::write: device not open,不知道怎么解决!,第1张

是服务器的端口没有打开。

1、首先pro文件配置:Qt网络功能需要在pro文件增加网络库。

2、QTcpServer服务端建立的方法代码,如下图所示。

3、QTcpServer当有新客户端连接时,会发出QTcpServer::newConnection的信号方法代码。

4、客户端为主动连接方不需要监听,直接建立QTcpSocket代码。

5、最后通过connectToHost连接指定ip和端口,将socket的连接成功的信号与对应槽连接,当连接成功可以将自定义的标记位置为true。

注意事项:

int main()

{

Py_Initialize()   // 初始化// 将Python工作路径切换到待调用模块所在目录,一定要保证路径名的正确性string chdir_cmd = string("sys.path.append(\'/xxxxxxx/')")

// 加载模块PyObject* moduleName = PyString_FromString("xx")//模块名,不是文件名PyObject* pModule = PyImport_Import(moduleName)

// 加载函数PyObject* pv = PyObject_GetAttrString(pModule, "xxx")// 调用函数PyObject* pRet = PyObject_CallObject(pv, xxx)

我也有动力写这篇文章了。下面我简单介绍一下用Qt Creator写Android应用的步骤。PS: 在这之前你应该搭建好一个Qt-Android环境,参考我另一篇文章:设置qt-android开发环境第一步:创建一个Android项目我以Empty Qt Project为例。点击Choose后出现一个对话框要求填写Project的名字和选择路径,输入完成后点击Next,到下面一个比较重要的 *** 作:选择Qt Version注意,默认是选择Destkop的,正确应该按上图设置。设置后按Next确认一下,没有错就按Finish完成Qt-Android项目的建立。只要正确建立了Qt项目,就完成了一大半了。下图是完成后的一个截图:第二步:编写程序在这步大家按照平常Qt Creator的步骤写程序就好。但是注意的是,有些模块暂时还没有移植,例如Qt网络模块,所以不能有网络相关的应用(不过我想这迟早会移植的)。作为例子,我就用hello world吧:#include<QApplication#include<QLabelintmain(intargc,char**argv){QApplicationapp(argc,argv)QLabel*label=newQLabel("<palign=centerHello,World!</p")label-show()returnapp.exec()}第三步:设置编译选项Projects标签 - Run 展开Package configurations,选择Android target SDK,(android7为例)展开紧跟下面的Deploy configurations,选择Deploy local qt libs然后按左边倒数第三个绿色三角按钮运行:第四步:手机上运行你写的应用会打包成apk放在你项目文件夹里的/android/bin里面。把它拷到手机上安装。但是这样手机还不能运行这个程序,毕竟Android系统没有Qt的库。这个时候你就需要Ministro,一个为Android系统Qt程序运行下载所需要的库。可以到电子市场搜索Ministro,或者到Ministro项目里下载:Ministro。安装好Ministro后再运行Qt程序,根据提示下载需要的库。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7723656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存