我在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)

#include <qfile.h>#include <qtextstream.h>1. 打开文件QFile f( fn )//fn可以是一 个相对路径或绝对路径f.open(IO_)//一般不要IO_ReadWrite,很容易出现赃数据//如果要在文件的后面添加内 容要IO_WriteOnly|IO_Append//如果要清空原来的内容,只要IO_WriteOnly//IO_Translate用来读windows文 件,linux下的回车换行是/n,windows下是/r/n2. 写文件QTextStream s( &f )s<<"Hello,world!!!"<<"/n"3. 读一行文件readLine(),每读一 行自动下移一行atEnd()判断是否到文件末尾4. 关闭文件f.close()5. 对文件的读 *** 作:QString fileName = QFileDialog::getOpenFileName( QString::null, QString::null, this)QFile f (fileName)f.open(IO_ReadOnly)QTextStream t(&f)MultiLineEdit1->setText( t.read() )f.close()MultiLineEdit1->setAutoUpdate( TRUE )MultiLineEdit1->repaint ()setCaption( fileName )6. 对文件的写 *** 作:QString fileName = QFileDialog::getSaveFileName( QString::null, QString::null, this )QFile f( fileName )f.open (IO_WriteOnly )QTextStream t(&f)t <<MultiLineEdit1->text()f.close()


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

原文地址: http://outofmemory.cn/tougao/11595610.html

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

发表评论

登录后才能评论

评论列表(0条)

保存