Qt qobject cast 函式用法

2021-07-20 15:07:12 字數 631 閱讀 7612

函式原型:

t qobject_cast ( qobject * object )

本方法返回object向下的轉型t,如果轉型不成功則返回0,如果傳入的object本身就是0則返回0。

在使用時有兩個限制:

1# t型別必須繼承自qobject。

2# 在宣告時必須有q_object巨集。

使用場景:

當某乙個object emit乙個signal的時候,它就是乙個sender,系統會記錄下當前是誰emit出這個signal的,

所以你在對應的slot裡就可以通過 sender()得到當前是誰invoke了你的slot。

有可能多個 object的signal會連線到同乙個signal(例如多個button可能會connect到乙個slot函式onclick()),

因此這是就 需要判斷到底是哪個object emit了這個signal,根據sender的不同來進行不同的處理.

在槽函式中:

qobject * obj = sender(); //返回發出訊號的物件,用qobject型別接收

qpushbutton *button_tmp = qobject_cast(obj);  //向下轉型為按鈕型別

...對此按鈕的其他操作

函式基礎 匿名函式,函式,箭頭函式,立即執行函式

doctype html html lang en head meta charset utf 8 meta name viewport content width device width,initial scale 1.0 title document title head body body ...

函式 常見函式

def fib n if n 1 return 1if n 2 return 1return fib n 1 fib n 2 def hannuo n,a,b,c n 表示有n個盤子 a 代表第乙個塔,開始的塔 b 代表第二個塔,過渡塔 c 代表第三個塔,目標塔 d.在 中n 2,這個分支可以不要,...

Lua 函式 函式

在lua中,函式是一種對語句和表示式進行抽象的主要機制。函式既可以完成某項特定的任務,也可以只做一些計算並返回結果。lua具有一項非常於總不同的特徵,允許函式返回多個結果 s,e string.find hello lua users lua print s,e 7 9 以lua編寫的函式同樣可以返...