使用Qt?Designer開發(fā)的實(shí)現(xiàn)示例
Qt Designer 是屬于 Qt Creator 的 一個(gè)功能而已,Qt Designer 也叫 UI 設(shè)計(jì)師或者 UI 設(shè)計(jì)器,這都是指的同一 個(gè)東西而已。
一、在ui文件添加一個(gè)按鈕
1、新建一個(gè)項(xiàng)目
項(xiàng)目名為 02_designer_example


構(gòu)建系統(tǒng)可選擇 CMake , qmake, Qbs 對(duì)于 CMake 我們比較熟悉,用于生成 Makefile ,那么
qmake 與 Qbs 也同樣道理, qmake 與 cmake 比較常用。我們需要選擇 qmake 。

這里默認(rèn)選擇的基類為 QMainWindow 。在 Base class 一項(xiàng)中我們還可以看到還有 QWidget
和 QWialog 這樣的基類可以選擇。 簡(jiǎn)單的來(lái)說(shuō),我們創(chuàng)建 的這個(gè)項(xiàng)目是基于 QMainWindow 類去開發(fā)的。默認(rèn)勾選“ Generate form ”,意思是生成 ui 窗體 文件 mainwindow.ui 。為了學(xué)習(xí)方便,我們統(tǒng)一默認(rèn)基類為 QMainWindow ,但是注意,在嵌入 式里一般不需要標(biāo)題欄,狀態(tài)欄等,所以常用的是 QWidget 基類。
QMainWindow:主窗口類,主窗口具有主菜單欄、工具欄和狀態(tài)欄。類似于一般的應(yīng)用程
序的主窗口。如果你想做個(gè)嵌套的窗口程序開發(fā)的軟件,不妨選擇這個(gè) QMainWindow 。
QWidget:是可視界面類的基類,也就是說(shuō) QMainWindow 類也是由 QWidget 繼承封裝而來(lái)。
所以 QWidget 要比 QMainWindow 功能少一些。
QDialog :對(duì)話框類,建立一個(gè)對(duì)話框界面。比較少使用此項(xiàng)作為基類。一般 QMainWindow 和 QWidget 作為基類的居多。 注因?yàn)?nbsp;QWidget 不帶窗口標(biāo)題欄等,嵌入式里最好 QWidget




2、按鈕添加

將這個(gè) PushButton 的 text 屬性(文本屬性)改為“關(guān)閉程序”。我們 要設(shè)計(jì)點(diǎn)擊這個(gè)按鈕將關(guān)閉這個(gè)窗口,關(guān)閉這個(gè)程序。

3、在ui文件里連接信號(hào)與槽
在 UI 設(shè)計(jì)器里有兩種方法可以連接信號(hào)與槽。
信號(hào):是一個(gè)對(duì)象發(fā)出的信號(hào)
槽:是當(dāng)這個(gè)對(duì)象發(fā)出這個(gè)信號(hào)時(shí),對(duì)應(yīng)連接的槽就發(fā)被執(zhí)行或者觸發(fā)。
UI 設(shè)計(jì)器里信號(hào)與槽的連接方法一:
在主窗體的上面部分,我們可以看到一些小小的按鈕,如下圖框框部分。用鼠標(biāo)放在這些按鈕上面可以查看這個(gè)按鈕是什么作用。信號(hào)槽連接的按鈕也在上面。

點(diǎn)擊信號(hào)槽連接的按鈕如下,如下圖①處,點(diǎn)擊進(jìn)入信號(hào)槽連接模式(若想退出信號(hào)槽連 接模式,則點(diǎn)擊①處左邊的按鈕),進(jìn)入信號(hào)與槽的連接模式后,將鼠標(biāo)選中我們的“關(guān)閉程序” 按鈕,按住按鈕,然后用鼠標(biāo)向外拖動(dòng),如②處。此時(shí)就會(huì)出現(xiàn)信號(hào)槽連接的符號(hào)。

按如下圖步驟選擇,左邊的“關(guān)閉程序” pushButton 按鈕的信號(hào),可以看到一個(gè)對(duì)象的信號(hào)可以有多種。右邊的 QMainWindow 的槽函數(shù),如果有其他對(duì)象,右邊不一定只有 MainWidnow 的槽函數(shù)(槽),也有可能是其他對(duì)象的槽。我們選擇按鈕的 clicked() 信號(hào),將其連接 MainWindow 對(duì)象的 close() 槽。這樣就完成了信號(hào)與槽的連接,非常簡(jiǎn)單。我們也可以預(yù)知這個(gè)信號(hào)與槽的功能,當(dāng)“關(guān)閉程序”pushButton 發(fā)出了 clicked() 信號(hào)(也就是單擊信號(hào))。 這個(gè)信號(hào)由“關(guān)閉程序”pushButton 被單擊時(shí)發(fā)出。它就會(huì)觸發(fā) MainWindow 的 close() 。進(jìn)而 使整個(gè)程序關(guān)閉。MainWindow 的 close() 就是退出關(guān)閉程序,退出程序的意思。

完成信號(hào)槽連接,如下圖。要想返回編輯部件模式點(diǎn)擊如下圖標(biāo)注位置的按鈕。下圖就是 信號(hào)與槽連接的圖示了。在編輯部件模式下我們是看不見的,只有信號(hào)槽模式才能看見這樣的 圖示。

UI 設(shè)計(jì)器里信號(hào)與槽的連接方法二:
選中“關(guān)閉程序” pushButton 按鈕,然后右鍵,如下圖。選擇“轉(zhuǎn)到槽”。

點(diǎn)擊“轉(zhuǎn)到槽”后,彈出下面的窗口,這一步是先讓我們選擇信號(hào)。按如下圖選擇。我們還發(fā)現(xiàn)這個(gè) clicked() 信號(hào)并不是 pushButton 的,而是 QAbstactButton 的。只是 pusbButton 繼承了 QAbstracButton ,同時(shí)把這個(gè)信號(hào)也繼承了下來(lái)。除此之外我們還看到其 他信號(hào)也是不是屬于 pushButton 的,也是被繼承下來(lái)了。所以我們?cè)?nbsp;C++ 基礎(chǔ)部分學(xué)過的繼承。在 Qt 里的作用表現(xiàn)的淋漓盡致!根本不用重寫 pushButton 的 clicked() 事件。 pushButton 只需要 繼承父類的 clicked() 事件即可!

點(diǎn)擊確認(rèn) 后,就會(huì)跳轉(zhuǎn)到槽函數(shù)里,這個(gè)代碼由 Qt Creator 自動(dòng)生成。

同時(shí)在 mainwindow.h 里聲明了這個(gè)槽函數(shù)。
找到 on_pushButton_clicked 這個(gè)槽函數(shù)里。在這個(gè)槽數(shù)里寫上 this->close();調(diào)用 close() 方法關(guān)閉整個(gè)程序。

到此這篇關(guān)于使用Qt Designer開發(fā)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Qt Designer開發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解PyCharm+QTDesigner+PyUIC使用教程
- PyQt 圖解Qt Designer工具的使用方法
- python GUI庫(kù)圖形界面開發(fā)之PyQt5 Qt Designer工具(Qt設(shè)計(jì)師)詳細(xì)使用方法及Designer ui文件轉(zhuǎn)py文件方法
- python之PySide2安裝使用及QT Designer UI設(shè)計(jì)案例教程
- Qt Designer的簡(jiǎn)單使用方法
- PyQT5之使用QT?Designer創(chuàng)建基本窗口方式
- PyQt5使用QtDesigner實(shí)現(xiàn)多界面切換程序的全過程
- Pyside6開發(fā)使用Qt?Designer的示例代碼
相關(guān)文章
C++計(jì)算ICMP頭的校驗(yàn)和實(shí)例
這篇文章主要介紹了C++計(jì)算ICMP頭的校驗(yàn)和的方法,代碼簡(jiǎn)單實(shí)用,對(duì)于校驗(yàn)ICMP報(bào)文來(lái)說(shuō)有不錯(cuò)的實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10
C語(yǔ)言實(shí)現(xiàn)火車票管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)火車票管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
C語(yǔ)言基礎(chǔ)知識(shí)點(diǎn)指針的使用
這篇文章主要介紹了C語(yǔ)言基礎(chǔ)知識(shí)點(diǎn)指針的使用,下面文章將讓我們掌握指針的概念和用法、指針與數(shù)組之間的關(guān)系、指針指向的指針、如何使用指針變量做函數(shù)參數(shù)等更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-03-03
C++中的vector容器對(duì)象學(xué)習(xí)筆記
這篇文章主要介紹了C++中的vector容器對(duì)象學(xué)習(xí)筆記,其中文章最后標(biāo)紅的resize與reserve方法的差別特別需要注意,需要的朋友可以參考下2016-05-05
在C語(yǔ)言中使用對(duì)數(shù)函數(shù)的方法
這篇文章主要介紹了在C語(yǔ)言中使用對(duì)數(shù)函數(shù)的方法,包括以e為底和以10為底的對(duì)數(shù)計(jì)算,需要的朋友可以參考下2015-08-08
C語(yǔ)言實(shí)現(xiàn)3個(gè)數(shù)從小到大排序/輸出的方法示例
這篇文章主要給大家介紹了關(guān)于如何利用C語(yǔ)言實(shí)現(xiàn)3個(gè)數(shù)從小到大排序/輸出的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
C語(yǔ)言函數(shù)棧幀的創(chuàng)建與銷毀詳解
函數(shù)棧幀(stack frame)就是函數(shù)調(diào)用過程中在程序的調(diào)用棧(call stack)所開辟的空間,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言函數(shù)棧幀的創(chuàng)建與銷毀的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09

