精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Qt“懶人寫法”之一鍵破“槽”

嵌入式小生 ? 來源:嵌入式小生 ? 2023-02-09 17:23 ? 次閱讀

在《Qt信號和槽函數機制,此篇足矣》一文中已經描述了Qt的信號和槽函數機制,在實際項目開發中,一般會使用QObject下提供的接口函數創建信號和槽函數之間的關聯:

79eca55e-a78b-11ed-bfe3-dac502259ad0.png?

但是在Qt Designer中提供了一個快速關聯信號和槽函數的方式:使用『轉到槽...』對話框創建選定控件之間的信號和槽函數關聯。

7a1a4216-a78b-11ed-bfe3-dac502259ad0.png

在點擊『轉到槽...』選項后,會彈出一個編輯框,例如此處以QPushButton按鈕控件為例,則會彈出如下的對話框:

7a394d82-a78b-11ed-bfe3-dac502259ad0.png

從上圖可知,首先QObject和QWidget下的信號是公共的,QAbstractButton是按鈕類獨有的,Qt使用該類抽象出了按鈕的一些公共操作,并已定義好具體的信號。當選中具體信號后,點擊“確定”按鈕,QtCreator會自動生成一個槽函數,例如,如果選擇了clicked()這個信號,則會在代碼中生成如下代碼,在頭文件生成代碼如下:

privateslots:
voidon_pushButton_clicked();

在源文件中生成代碼如下:

7a4c29b6-a78b-11ed-bfe3-dac502259ad0.png

本質上,QtCreator生成代碼的成員函數的命名是能夠被QMetaObject的自動連接工具識別的,在構建過程中,在uic生成的用于描述界面的C++文件中,會出現以下代碼:

7a670d8a-a78b-11ed-bfe3-dac502259ad0.png

因此,通過connectSlotByName()就將名稱和槽函數進行了關聯,該函數會遞歸搜索給定對象的所有子對象,并將它們的匹配信號連接到遵循特定格式命名的槽函數,格式如下:

voidon__()

:對象名稱。

:信號名稱。

:傳入的參數。

在實際使用過程中,只需要聲明和實現一個槽函數,其名稱遵循標準約定,就可以將一個控件對象的信號和具體槽函數關聯,當然這個過程由QtCreator自動完成。

Qt提供的信號和槽函數的自動連接機制,為開發小部件提供了標準命名約定和顯式接口。通過提供實現給定界面的源代碼,在設計用戶界面時無需再編寫代碼就可以檢查設計是否真正有效了。

小生總結

基于QtCreator,提供的信號和槽函數的自動連接機制在實際開發中,經常會被使用到,特別是在需要快速驗證功能和需求的時候,這種方式比使用connect()關聯信號和槽函數的開發效率要快很多。但是,如果界面中同類型控件較多的情況下,就需要注釋清楚,不然不好區分具體控件下的功能。

在實際項目開發中,對于自定義的信號,習慣使用connect()進行槽函數的關聯。對于具體界面中控件,如果是Qt提供的標準控件,則可以使用信號和槽函數的自動連接機制,以加快開發效率。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 信號
    +關注

    關注

    11

    文章

    2738

    瀏覽量

    76164
  • 函數
    +關注

    關注

    3

    文章

    4234

    瀏覽量

    61961
  • Designer
    +關注

    關注

    0

    文章

    118

    瀏覽量

    35601
  • 代碼
    +關注

    關注

    30

    文章

    4668

    瀏覽量

    67754
  • Qt
    Qt
    +關注

    關注

    1

    文章

    300

    瀏覽量

    37596

原文標題:Qt “懶人寫法”之一鍵破“槽”

文章出處:【微信號:嵌入式小生,微信公眾號:嵌入式小生】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    西門子SMART200PLC一鍵啟停的幾種寫法

    在生產中,由于安裝環境,成本控制,操作便利等因素,會用到一鍵啟停的控制,比如電機控制,閥門控制等等,今天我給大家聊聊常見的幾種寫法,為了直觀通俗,我們用LAD(梯形圖)來寫。
    發表于 07-14 09:21 ?2930次閱讀
    西門子SMART200PLC<b class='flag-5'>一鍵</b>啟停的幾種<b class='flag-5'>寫法</b>

    方便快捷:PADS的一鍵快捷功能:一鍵灌銅,一鍵檢查DRC

    傾情奉獻給大家,非常實用的快捷功能一鍵灌銅: [hide] [/hide]一鍵檢查連通性:[hide][/hide]一鍵檢查安全間距::[hide] [/hide]一鍵清除Error標
    發表于 11-07 15:06

    一鍵還原系統

    老毛桃一鍵 V2.0.12.5更新說明: 1、細節完善及處理已知的問題2、更新GRUB模塊,提高兼容性3、高級項“搜索”開放自定后綴,可搜索任何后綴的GHO還原4、些函數位置及變量調整5、完善1
    發表于 06-18 20:41

    電信一鍵免流量軟件電信一鍵免流軟件app

    電信用戶一鍵免流量上網軟件款電信免費流量軟件一鍵免流量app電信版加QQ1814806072電信2G3G4G都支持,支持免流開熱點給電腦使用或者其他的設備使用,真正強大的免流,超穩定完全不跳點
    發表于 07-19 10:37

    什么是一鍵起飛?

    原子家的minifly,有誰搞懂了一鍵起飛呀?跪求
    發表于 07-11 04:35

    Stm32怎么一鍵下載

    文章目錄前言一鍵下載一鍵下載原理硬件原理圖跳帽與啟動存儲映射串口下載程序由來一鍵下載流程通過 USB 控制機器復位握手解讀前言最近在又要折騰 stm32 了,所以翻出了腳落里的開發板,先復習下
    發表于 08-05 08:13

    一鍵ghost11使用教程

    一鍵ghost11使用教程
    發表于 01-08 09:25 ?60次下載
    <b class='flag-5'>一鍵</b>ghost11使用教程

    VBS腳本實例之一鍵升級哨位臺核心板和底板程序腳本的資料說明

    本文檔的主要內容詳細介紹的是VBS腳本實例之一鍵升級哨位臺核心板和底板程序腳本的資料說明免費下載。
    發表于 05-07 18:22 ?0次下載
    VBS腳本實例<b class='flag-5'>之一鍵</b>升級哨位臺核心板和底板程序腳本的資料說明

    Stm32 一鍵下載電路詳解

    文章目錄前言一鍵下載一鍵下載原理硬件原理圖跳帽與啟動存儲映射串口下載程序由來一鍵下載流程通過 USB 控制機器復位握手解讀前言最近在又要折騰 stm32 了,所以翻出了腳落里的開發板,先復習下
    發表于 11-24 18:06 ?9次下載
    Stm32 <b class='flag-5'>一鍵</b>下載電路詳解

    文詳解Qt信號和函數機制

    信號和用于多個對象之間的通信。信號和機制是Qt的核心特性,也是Qt與其他框架最大的不同之處。Qt的元對象系統是信號和
    的頭像 發表于 02-07 09:14 ?2709次閱讀

    淺淡西門子smart200PLC一鍵啟停的幾種寫法

    在生產中,由于安裝環境,成本控制,操作便利等因素,會用到一鍵啟停的控制,比如電機控制,閥門控制等等,今天給大家聊聊常見的幾種寫法,為了直觀通俗,用LAD(梯形圖)來寫。
    的頭像 發表于 02-21 16:38 ?2489次閱讀

    smart200PLC一鍵啟停的常用寫法

    (復位/置位一鍵啟停) 程序解說: 按下按鈕M10.4,它接通第個掃描周期,Q0.2線圈得電置位為 1;再次按下M10.4,Q0.2線圈復位為0;.5作為一鍵啟停的輔助點, 和Q0.2線圈狀態
    發表于 10-08 11:53 ?1826次閱讀
    smart200PLC<b class='flag-5'>一鍵</b>啟停的常用<b class='flag-5'>寫法</b>

    一鍵開關電路的好處?生活中的一鍵開關電路有哪些?

    一鍵開關電路的好處?生活中的一鍵開關電路有哪些? 一鍵開關電路是指個電路設計,可以用個按鈕或開關來控制多個電器或燈具的開關。
    的頭像 發表于 10-22 15:18 ?1753次閱讀

    變電站一鍵順控系統和開關柜一鍵順控有區別嗎?

    變電站一鍵順控系統和開關柜一鍵順控技術雖然都涉及到“一鍵順控”的概念,但它們在應用范圍和具體實現上有所不同,因此變電站一鍵順控系統和開關柜一鍵
    的頭像 發表于 07-31 13:34 ?214次閱讀
    變電站<b class='flag-5'>一鍵</b>順控系統和開關柜<b class='flag-5'>一鍵</b>順控有區別嗎?

    一鍵斷電開關的種類有哪些

    一鍵斷電開關的種類主要可以從其功能和實現方式上進行分類。以下是些常見的一鍵斷電開關種類: 1. 繼電器式一鍵斷電開關 定義 :這種開關通過繼電器或接觸器控制電路的通斷,實現
    的頭像 發表于 09-13 16:45 ?172次閱讀