0
對不起,基本問題。我試圖在QPlainTextWidget中顯示json。我有api函數,它具有控制檯輸出幷包含所有需要的數據。看起來像這樣:如何顯示api函數的輸出?
int iperf_run_server(struct iperf_test *test)
{
int result, s, streams_accepted;
fd_set read_set, write_set;
struct iperf_stream *sp;
struct timeval now;
struct timeval* timeout;
......
if (test->json_output)
if (iperf_json_start(test) < 0)
return -1;
if (test->json_output) {
cJSON_AddItemToObject(test->json_start, "version", cJSON_CreateString(version));
cJSON_AddItemToObject(test->json_start, "system_info", cJSON_CreateString(get_system_info()));
} else if (test->verbose) {
iprintf(test, "%s\n", version);
iprintf(test, "%s", "");
fflush(stdout);
printf("%s\n", get_system_info());
}
.....
cleanup_server(test);
if (test->json_output) {
if (iperf_json_finish(test) < 0)
return -1;
}
....
return 0;
}
現在,我有我的GUI第一線,及第二線程,包含在信號運行該功能類。所有的東西都能正常工作,但我並不完全理解,我怎樣才能「停止」iperf_run_server來「讀取/緩衝」輸出,而不需要對api進行任何修改。
感謝您的幫助,我已經試過你的算法。但是在textwidget中仍然沒有未分解的json。 – MikSer
@MikSer首先,您需要驗證未更改的代碼適合您。然後逐步介紹這些更改,並在每次小改動後驗證事情是否正常。你確定你的未解析的JSON存在並且不是空字符串嗎? –
我發現我有一個錯誤,一個字符串是空的,當我試圖把它放在小部件中。謝謝。 – MikSer