已有思路: 按每一行写入数据流 然后调用write()写入, 但是如何重复写入?
现有问题: 数据错乱, 第一行的值重复写入..
从fh 文件中取出保存好的数据流数据, 写入self.block 进行TCP传输
(数据按表格每行格式保存, 读取出行数和列表数据) ->无法正常显示
求范例 或思路 , PYQT5编写
服务端代码:
![](zzz/editor/img/code.gif)
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()
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()