自定義型別用於訊號與槽之間的傳輸

2021-09-02 02:30:48 字數 517 閱讀 6050

應用場景: 使用訊號和槽的時候可以傳遞引數,但qt只支援預設的型別,不支援自定義型別, 如果要使用自定義型別,需要通過2步來實現

第一步:在定義類的標頭檔案的尾部新增**:

q_declare_metatype(block);
class block

;q_declare_metatype(block);

第2步:

在原始檔中使用註冊函式,將該型別註冊到元物件系統中去即可。

block::block()

block::block(const block &other)

block::block(const qrect & rect, const qcolor &color)

block::~block()

qcolor block::color()const

qrect block::rect()const

最後既可以在訊號中使用該型別了。。。

Qt自定義訊號槽

qt自定義訊號槽,在控制台程式中實現 qt5 如下 qt5 include news h class news public qobject void send signals void new const qstring name private qstring m name reader.h i...

Qt 自定義訊號槽

使用 connect 可以讓我們連線系統提供的訊號和槽。但是,qt 的訊號槽機制並不僅僅是使用系統提供的那部分,還會允許我們自己設計自己的訊號和槽。這也是 qt 框架的設計思路之一,用於我們設計解耦的程式。本節將講解如何在自己的程式中自定義訊號槽。訊號槽不是 gui 模組提供的,而是 qt 核心特性...

一 自定義訊號槽

qt5 include news h class news public qobject void send signals void new const qstring name private qstring m name reader.h include include class reade...