偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Qt 中多線程信號傳遞 實例

移動開發(fā)
本文介紹的是Qt 中多線程信號傳遞 實例,關于Qt 中的多線程,相信友們接觸了不少,先來看本文介紹。

Qt 多線程信號傳遞

  1. QObject::connect(const QObject * sender, const char * signal, 
  2. const QObject * receiver, const char * method, 
  3. Qt::ConnectionType type = AutoConnection); 

這個函數默認(即***一個參數type為AutoConnection)情況下只能在相同線程下的不同類之間傳遞信號,若想要把信號傳遞給另外一個線程下運行的類實例,必須要修改type的枚舉值。

可以改為Qt::QueuedConnection,這樣就能傳遞給其他線程下的類實例了。

另外,對于帶參數的消息,參數的數據類型必須為Qt支持的元數據類型,如int、QString等,若要傳遞自定義的數據類型,必須把自定義的數據類型注冊為元數據類型。

舉個例子,比如我再兩個線程下分別運行了兩個類實例MainWindow *mainWnd和Manager *mngr,MainWindow把方法addUsers(LPHOSTSTRUCT )設為槽,Manager把方法NewUserCome(LPHOSTSTRUCT )設為消息,其中LPHOSTSTRUCT為自定義的數據類型。要是想在Manager中順利的使用emit NewUserCome(lpHost)(lpHost為LPHOSTSTRUCT的一個實例),就要經過兩步

一、注冊LPHOSTSTRUCT為Qt的元數據類型

  1. qRegisterMetaType<LPHOSTSTRUCT> ("LPHOSTSTRUCT"); 

二、調用QObject::connect方法,連接信號和槽,這里要注意修改connect方法的第五個參數

  1. QObject::connect(mngr, SIGNAL(NewUserCome(LPHOSTSTRUCT)), mainWnd, SLOT(addUser(LPHOSTSTRUCT))); 

小結:Qt 多線程信號傳遞 實例的內容介紹完了,希望本文能幫你解決問題。

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-13 10:03:19

Qt 多線程 編程

2011-06-30 17:40:07

Linux 多線程 Android

2011-06-22 16:18:23

QT 多線程 QSocket

2011-07-01 11:18:50

Qt 多線程

2011-06-20 13:43:08

Qt Socket 線程

2011-06-29 16:34:11

Qt 子線程 線程

2011-06-24 11:12:39

Qt 多線程 線程

2011-06-24 11:03:31

Qt 多線程 線程

2023-11-15 13:55:32

2020-11-10 15:25:26

SemaphoreLinux翻譯

2011-07-01 10:35:20

QT 多線程 TCP

2011-06-30 18:15:36

Qt 線程 同步

2011-06-30 18:03:58

QT 多線程 服務器

2011-06-22 16:08:40

Qt 多線程 事件循環(huán)

2011-06-16 10:38:13

Qt多線程編程

2025-06-25 06:18:46

Linux多線程機制

2011-06-13 16:51:19

Qt Socket

2011-06-22 16:02:37

Qt 多線程 重入

2010-03-15 19:37:00

Java多線程同步

2011-12-15 11:03:21

JavaNIO
點贊
收藏

51CTO技術棧公眾號