国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt 信號和槽機(jī)制

這篇具有很好參考價(jià)值的文章主要介紹了Qt 信號和槽機(jī)制。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一. 簡介

????????在Qt中使用信號和槽機(jī)制來完成對象之間的協(xié)同操作。簡單來說,信號和槽都是函數(shù),比如按下窗口上的一個(gè)按鈕后想要彈出一個(gè)對話框,那么就可以將這個(gè)按鈕的單擊信號和我們定義的槽關(guān)聯(lián)起來,在這個(gè)槽中可以創(chuàng)建一個(gè)對話框,并且顯示它。這樣,當(dāng)單擊這個(gè)按鈕時(shí)就會(huì)發(fā)射信號,進(jìn)而執(zhí)行我們的槽來顯示一個(gè)對話框。

? ? ? ? 實(shí)際上,我們一般需要自己實(shí)現(xiàn)的是槽函數(shù)。槽函數(shù)即:接收到信號后所要執(zhí)行的動(dòng)作。

二. 聲明

/*
 * 使用關(guān)鍵字:signals,來聲明信號函數(shù)
 */
signals:
    void sig_updateNtpTime(QString *time);

/*
 * 使用關(guān)鍵字:slots,來聲明槽函數(shù)。
 * 一般槽函數(shù)需要指明權(quán)限:public/private/protected等
 */
public slots:
    void slot_receiveTime(QString *time);

注意:?槽一般使用slots關(guān)鍵字進(jìn)行修飾(Qt 4中必須使用,Qt 5以后使用新connect語法時(shí)可以不用,為了與一般函數(shù)進(jìn)行區(qū)別,建議使用)

三. 信號的類別

1)基于部件對象,可以使用其類中自帶的信號(比如:按鈕部件,其類中自帶的信號)

Qt 信號和槽機(jī)制,Qt,qt,信號槽機(jī)制

/* 
 * 1)clicked(): 被點(diǎn)擊
 * 2) clicked(bool):被點(diǎn)擊,區(qū)分是否被選中(一般在單選框部件中使用)
 * 3)pressed(): 按鈕被按下
 * 4)released(): 按鈕被松開
 */

2)自定義信號

/*
 * 使用關(guān)鍵字:signals,來自定義信號
 */
signals:
    void sig_updateNtpTime(QString *time);

四. 信號和槽的關(guān)聯(lián)方式

1.??使用connect()函數(shù)關(guān)聯(lián)

// 函數(shù)原型
QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method)
// connect()函數(shù)中的四個(gè)參數(shù)分別是:發(fā)送信號的對象、發(fā)送的信號、接收信號的對象和要執(zhí)行的槽。

信號觸發(fā)形式:

1)使用部件對象自帶的信號

connect(ui->button, SIGNAL(clicked()), this, SLOT(slot_exitsCardsDevice()));
// 當(dāng)點(diǎn)擊按鈕button時(shí),觸發(fā)信號-->執(zhí)行槽函數(shù) slot_exitsCardsDevice().

2)使用自定義的信號

connect(ui->functionBtn_1, SIGNAL(sig_mouseReleaseEvent()), this, SLOT(slot_functionBtn_1_clickedX()));

//使用關(guān)鍵字:emit,來觸發(fā)自定義信號

emit sig_mouseReleaseEvent();//執(zhí)行后,觸發(fā)槽函數(shù) slot_functionBtn_1_clickedX()

2. 自動(dòng)關(guān)聯(lián)

????????在設(shè)計(jì)模式中的UI主設(shè)計(jì)區(qū),選擇需要操作的部件,右擊,在彈出的菜單上選擇“轉(zhuǎn)到槽”,根據(jù)需求選擇對應(yīng)的槽函數(shù)。

????????自動(dòng)關(guān)聯(lián)就是將關(guān)聯(lián)函數(shù)整合到槽命名中。 例如on_pushButton_clicked()就是由字符“on”和發(fā)射信號的部件對象名,還有信號名組成。這樣就可以去掉那個(gè)connect()關(guān)聯(lián)函數(shù)了。每當(dāng)pushButton被按下,就會(huì)發(fā)射clicked()信號,然后就會(huì)執(zhí)行on_pushButton_clicked()槽。

//對名稱為 pushButton_save 的按鈕進(jìn)行的 按下和釋放 動(dòng)作的槽函數(shù)
void frmTelBook::on_pushButton_save_pressed()
{
    //
}

void frmTelBook::on_pushButton_save_released()
{
    //
}

注意:一般自動(dòng)關(guān)聯(lián)方式的槽函數(shù)數(shù)目較少,選擇性叫少。文章來源地址http://www.zghlxwxcb.cn/news/detail-799544.html

到了這里,關(guān)于Qt 信號和槽機(jī)制的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Qt】信號和槽

    【Qt】信號和槽

    ?需要云服務(wù)器等云產(chǎn)品來學(xué)習(xí)Linux的同學(xué)可以移步/--騰訊云--/--阿里云--/--華為云--/官網(wǎng),輕量型云服務(wù)器低至112元/年,新用戶首次下單享超低折扣。 ? 目錄 一、Qt中的信號和槽 1、信號 2、槽 3、Q_OBJECT 二、Qt中的connect函數(shù) 三、自定義信號、自定義槽 1、自定義槽函數(shù) 1.1使

    2024年01月21日
    瀏覽(32)
  • 【QT】信號和槽(15)

    【QT】信號和槽(15)

    前面的內(nèi)容說了很多不同的控件如何使用,今天來看下QT的核心, 信號與槽(Signals and slots) ! 簡單理解一下,就是我們的信號與槽連接上了之后,發(fā)射一個(gè)信號給到槽,槽函數(shù)接收到了這個(gè)信號之后,槽函數(shù)會(huì)被調(diào)用。 1.python 3.7.8?? 可直接進(jìn)入官網(wǎng)下載安裝:Download Pyt

    2024年02月10日
    瀏覽(21)
  • QT之信號和槽

    QT之信號和槽

    一、什么是信號和槽? 我們經(jīng)??吹降墓δ?,點(diǎn)擊一個(gè)按鈕實(shí)現(xiàn)窗口關(guān)閉。 這一過程發(fā)生了什么?是怎么實(shí)現(xiàn)的 按鈕相當(dāng)于一個(gè)信號,點(diǎn)擊相當(dāng)于發(fā)送一個(gè)信號,窗口是個(gè)接收者,關(guān)閉窗口是個(gè)槽函數(shù) 信號:各種事件 槽:響應(yīng)信號的動(dòng)作 當(dāng)一個(gè)按鈕(信號)被觸發(fā)(發(fā)送

    2024年02月07日
    瀏覽(24)
  • 07.QT信號和槽-2

    07.QT信號和槽-2

    ????????在Qt中,允許?定義信號的發(fā)送?以及接收?,即可以?定義信號函數(shù)和槽函數(shù)。但是對于?定義的信號函數(shù)和槽函數(shù)有?定的書寫規(guī)范。 1.1 自定義信號 (1)?定義信號函數(shù)必須寫到\\\"signals\\\"下; (2)返回值為void,只需要聲明,不需要實(shí)現(xiàn); (3)可以有參數(shù),

    2024年04月14日
    瀏覽(21)
  • Qt6.2教程——3.Qt信號和槽

    信號和槽是Qt中一個(gè)強(qiáng)大的特性,用于處理對象之間的通信。它們是一種事件處理機(jī)制,允許一個(gè)對象在某個(gè)事件發(fā)生時(shí)通知另一個(gè)對象。 定義 : 信號是一個(gè)QObject的成員函數(shù),當(dāng)某個(gè)特定事件發(fā)生時(shí),它被自動(dòng)調(diào)用。它可以與一個(gè)或多個(gè)槽關(guān)聯(lián)。 聲明 : 在Qt類的聲明中,信號

    2024年02月10日
    瀏覽(19)
  • [Qt的學(xué)習(xí)日常]--信號和槽

    [Qt的學(xué)習(xí)日常]--信號和槽

    前言 作者 :小蝸牛向前沖 名言 :我可以接受失敗,但我不能接受放棄 ??如果覺的博主的文章還不錯(cuò)的話,還請 點(diǎn)贊,收藏,關(guān)注??支持博主。如果發(fā)現(xiàn)有問題的地方歡迎?大家在評論區(qū)指正 本期學(xué)習(xí):什么是信號和槽,自定義槽函數(shù)和信號函數(shù),信號和槽的傳參,斷開,

    2024年04月28日
    瀏覽(20)
  • 20221210 QT----信號和槽的使用

    20221210 QT----信號和槽的使用

    什么是信號(signal) 以QPushButton為例: (1)按下按鈕時(shí),會(huì)觸發(fā)一個(gè)mousePressEvent事件,此時(shí)會(huì)發(fā)出一個(gè)pressed信號; (2)松開按鈕時(shí),會(huì)觸發(fā)一個(gè)mouseReleaseEvent事件,此時(shí)會(huì)發(fā)出released和clicked信號。 事件的種類有很多,不同的事件都對應(yīng)著不同的信號,當(dāng)事件發(fā)生時(shí),對應(yīng)

    2024年02月15日
    瀏覽(25)
  • 02 qt基本控件及信號和槽

    02 qt基本控件及信號和槽

    功能:顯示一個(gè)字符串內(nèi)容 主要接口函數(shù) 構(gòu)造函數(shù): 賦值運(yùn)算符重載: 功能函數(shù): 1)基本數(shù)據(jù)類型(int,float,double,char*)轉(zhuǎn)換成字符串 number(long , int ) : QString number(int , int ) : QString number(uint , int ) : QString number(ulong , int ) : QString number(qlonglong , int ) : QString number(qulonglong , int

    2024年02月12日
    瀏覽(21)
  • qt信號和槽避免多次連接

    qt同一個(gè)信號和槽多次連接,則槽函數(shù) 會(huì)觸發(fā)多次 (默認(rèn)),可能不是我們想要的結(jié)果。 有3種方法可以解決這個(gè)問題: 因?yàn)槌跏蓟瘮?shù)在在整個(gè)程序中只運(yùn)行一次,所以這里面連接信號和槽,就能避免重復(fù)連接問題了。 Qt::UniqueConnection 的作用是:如果該信號以前沒連接過

    2024年02月10日
    瀏覽(47)
  • Qt快速學(xué)習(xí)(一)--對象,信號和槽

    Qt快速學(xué)習(xí)(一)--對象,信號和槽

    目錄 1.Qt概述 1.1 什么是Qt 2.2?手動(dòng)創(chuàng)建 2.3?pro文件 2.4?一個(gè)最簡單的Qt應(yīng)用程序 ? ? ? ?3 第一個(gè)Qt小程序 3.1 按鈕的創(chuàng)建 3.2 對象模型(對象樹) ??????3.3?Qt窗口坐標(biāo)體系 4 信號和槽機(jī)制 ????????4.1 系統(tǒng)自帶的信號和槽 4.2 自定義信號和槽 ????4.3信號槽的拓展 ????

    2024年02月12日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包