如何从命名管道中获取结构化数据并将其写入 Qt 中的 qtableview

Posted

技术标签:

【中文标题】如何从命名管道中获取结构化数据并将其写入 Qt 中的 qtableview【英文标题】:How to get structured data from a named pipe and write it into a qtableview in Qt 【发布时间】:2012-12-13 11:48:34 【问题描述】:
struct my_structure 
    char name[15]; /*thread name*/
    int pid; /* pid of the thread */
    int ppid; /* parent pid of the thread */
;

struct my_structure m1[]="skier",12,14,"skier1",13,14;

我想使用QTableView 在 Qt 中的表格中显示这些结构实例的内容。所以想通过命名管道/fifo将这些结构化数据传递给我的Qt程序。

请指导我如何通过命名管道/fifo 在我的 Qt 程序中传递这些结构化数据,以及如何从 fifo 读取结构的内容,以便我可以在 QTableView 中显示它们。还建议我在表格中显示结构内容的代码。

【问题讨论】:

【参考方案1】:

使用fopen("/path/to/named-pipe",....) & 然后fread/fwrite 或

使用open("/path/to/named-pipe",....) & 然后read/write。

您可以像简单文件一样读取/写入 fifo。

关于非阻塞IO,请参考:How do I perform a non-blocking fopen on a named pipe (mkfifo)?

【讨论】:

以上是关于如何从命名管道中获取结构化数据并将其写入 Qt 中的 qtableview的主要内容,如果未能解决你的问题,请参考以下文章

使用命名管道模拟流程替换

如何从 Java 中的 HttpResponse 中获取单个表单字段并将其写入文件?

从命名管道、C 程序(编写器)和 Python(读取器)获取额外数据

拦截先进先出

如何从 PubSub 主题读取数据并将其解析到光束管道中并打印

SIGPIPE 如何影响命名管道中的作者?