0x00 本文通過子執行緒產生的資料傳遞給主程,需要掌握如下知識
0x01 建立使用者自定義結構體型別,並向qt元物件系統宣告該型別
#ifndef userdefine_h
#define userdefine_h
#include //qt元型別系統標頭檔案
struct transdata;
q_declare_metatype(transdata)
#endif // userdefine_h
0x02 建立子執行緒,用自定義的結構體接收產生的資料
#ifndef workthread_h
#define workthread_h
#include #include #include "userdefine.h"
class workthread : public qthread
;#endif // workthread_h
#include "workthread.h"
#include workthread::workthread()
workthread::~workthread()
void workthread::run()
else
}
0x03 在主線程中使用子執行緒產生的資料
#ifndef mainwidget_h
#define mainwidget_h
#include #include "workthread.h"
qt_begin_namespace
namespace ui
qt_end_namespace
class mainwidget : public qwidget
;#endif // mainwidget_h
#include "mainwidget.h"
#include "ui_mainwidget.h"
mainwidget::mainwidget(qwidget *parent)
: qwidget(parent)
, ui(new ui::mainwidget)
mainwidget::~mainwidget()
void mainwidget::slotshownetworkstatus(transdata data)
else
}void mainwidget::on_btnstart_clicked()
else
}
Qt自定義事件實現及子執行緒向主線程傳送事件訊息
近期在又一次學習qt的時候,由於要涉及到子執行緒與主線程傳遞訊息,所以便琢磨了一下。順便把有用的記錄下來,方便自己以後查詢及各位同仁的參考!特此宣告,本篇博文主要講述有用的,也就是直接說明怎麼實現,就不打算陳述一大堆理論啦,只是,還是建議大家去查查對應的理論比較好。這樣能對qt的訊息傳送機制的理解更...
自定義執行緒類
根據需求定義執行緒類 import threading from time import 建立執行緒類,繼承threading.thread類 初始化func,args,name等引數,這裡testthread類重寫父類threading.thread了 init 方法 super 函式 解決了子類...
主線程獲得子執行緒中資料
場景 乙個執行緒繼續執行,需要另乙個執行緒執行完 public static void main string args catch interruptedexception e system.out.println 當前執行緒 thread.currentthread 結束 執行緒1 thread...