注册 登录
编程论坛 Python论坛

QTcpsocket/QTcpserver传输, 如何用 QdataStream 传输一个表格数据

yuantkong 发布于 2018-06-12 11:43, 2285 次点击
QTcpsocket/QTcpserver传输, 如何用 QdataStream 传输一个表格数据
已有思路: 按每一行写入数据流 然后调用write()写入, 但是如何重复写入?
现有问题: 数据错乱, 第一行的值重复写入..

从fh 文件中取出保存好的数据流数据, 写入self.block 进行TCP传输
(数据按表格每行格式保存, 读取出行数和列表数据) ->无法正常显示
求范例 或思路 , PYQT5编写

服务端代码:
程序代码:
self.block = QByteArray()
fh = QFile(name)
            fh.open(QIODevice.ReadOnly)
            tableData = QDataStream(fh)        #文本数据流
            tableData.setVersion(QDataStream.Qt_5_6)

            stream = QDataStream(self.block, QIODevice.WriteOnly)    # TCP输出的数据
            stream.setVersion(QDataStream.Qt_5_6)   
            self.clientConnection = self.server.nextPendingConnection()   

            
            while not tableData.atEnd():
                num,table=0,''
                num = tableData.readUInt16()
                table = tableData.readQStringList()

                stream.writeUInt16(0)
                stream.writeUInt16(num)
                stream.writeQStringList(table)
                stream.device().seek(0)
                stream.writeUInt16(self.block.size() - SIZEOF_INT16)  #
                self.clientConnection.write(self.block)
                self.clientConnection.flush()
0 回复
1