欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:開發(fā)語(yǔ)言 QT自定義信號(hào)和槽

柚子快報(bào)激活碼778899分享:開發(fā)語(yǔ)言 QT自定義信號(hào)和槽

http://yzkb.51969.com/

Qt框架默認(rèn)提供的標(biāo)準(zhǔn)信號(hào)和槽不足以完成我們?nèi)粘?yīng)用開發(fā)的需求,比如說點(diǎn)擊某個(gè)按鈕讓另一個(gè)按鈕的文字改變,這時(shí)候標(biāo)準(zhǔn)信號(hào)和槽就沒有提供這樣的函數(shù)。但是Qt信號(hào)和槽機(jī)制提供了允許我們自己設(shè)計(jì)自己的信號(hào)和槽。

1、自定義信號(hào)使用條件

? ?聲明在類的signals域下

? ?沒有返回值,void類型的函數(shù)

? ? 只有函數(shù)聲明,沒有定義

? ? 可以有參數(shù),可以重載

? ? 通過emit關(guān)鍵字來觸發(fā)信號(hào),形式:emit object->sig(參數(shù))

2、自定義槽函數(shù)使用條件

? ?qt4 必須聲明在 private/public/protected slots域下面,qt5之后可以聲明public下,同時(shí)還可以是靜態(tài)的成員函數(shù),全局函數(shù),lambda表達(dá)式

? 沒有返回值,void類型的函數(shù)

? 不僅有聲明,還得要有實(shí)現(xiàn)

? ?可以有參數(shù),可以重載

3、使用自定義信號(hào)和槽

定義場(chǎng)景:下課了,老師跟同學(xué)說肚子餓了(信號(hào)),學(xué)生請(qǐng)老師吃飯(槽)

首先定義一個(gè)學(xué)生類和老師類:

老師類中聲明信號(hào) 餓了 hungry

signals:

?? ????void hungry();

學(xué)生類中聲明槽 請(qǐng)客treat

public slots:

??? ???void treat();

在窗口中聲明一個(gè)公共方法下課,這個(gè)方法的調(diào)用會(huì)觸發(fā)老師餓了這個(gè)信號(hào),而響應(yīng)槽函數(shù)學(xué)生請(qǐng)客

void MyWidget::ClassIsOver()

{

??? //發(fā)送信號(hào)

??? emit teacher->hungry();

}

學(xué)生響應(yīng)了槽函數(shù),并且打印信息

//自定義槽函數(shù) 實(shí)現(xiàn)

void Student::treat()

{

?? ????qDebug() << "Student treat teacher";

}

在窗口中連接信號(hào)槽

? ?

?teacher = new Teacher(this);

??? student = new Student(this);

??? connect(teacher,&Teacher::hungury,student,&Student::treat);

并且調(diào)用下課函數(shù),測(cè)試打印出相應(yīng)log

自定義的信號(hào) hungry帶參數(shù),需要提供重載的自定義信號(hào)和 自定義槽

void hungry(QString name);? 自定義信號(hào)

void treat(QString name );??? 自定義槽

但是由于有兩個(gè)重名的自定義信號(hào)和自定義的槽,直接連接會(huì)報(bào)錯(cuò),所以需要利用函數(shù)指針來指向函數(shù)地址, 然后在做連接

void (Teacher:: * teacherSingal)(QString) = &Teacher:: hangry;

void (Student:: * studentSlot)(QString) = &Student::treat;

connect(teacher,teacherSingal,student,studentSlot);

也可以使用static_cast靜態(tài)轉(zhuǎn)換挑選我們要的函數(shù)

connect(

teacher,

static_cast(&Teacher:: hangry),

student,

static_cast(& Student::treat));

柚子快報(bào)激活碼778899分享:開發(fā)語(yǔ)言 QT自定義信號(hào)和槽

http://yzkb.51969.com/

推薦閱讀

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18970974.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄