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

Qt 中多線程信號傳遞 實例

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

Qt 多線程信號傳遞

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

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

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

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

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

一、注冊LPHOSTSTRUCT為Qt的元數(shù)據(jù)類型

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

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

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

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

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

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 子線程 線程

2023-11-15 13:55:32

2011-06-24 11:03:31

Qt 多線程 線程

2011-06-24 11:12:39

Qt 多線程 線程

2020-11-10 15:25:26

SemaphoreLinux翻譯

2011-07-01 10:35:20

QT 多線程 TCP

2011-06-30 18:03:58

QT 多線程 服務(wù)器

2011-06-30 18:15:36

Qt 線程 同步

2011-06-16 10:38:13

Qt多線程編程

2011-06-22 16:08:40

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

2025-06-25 06:18:46

Linux多線程機(jī)制

2011-06-13 16:51:19

Qt Socket

2012-11-12 09:26:06

.NET多線程

2011-06-22 16:02:37

Qt 多線程 重入

2010-03-15 19:37:00

Java多線程同步
點贊
收藏

51CTO技術(shù)棧公眾號