前面的內(nèi)容說了很多不同的控件如何使用,今天來看下QT的核心,信號(hào)與槽(Signals and slots)!
簡單理解一下,就是我們的信號(hào)與槽連接上了之后,發(fā)射一個(gè)信號(hào)給到槽,槽函數(shù)接收到了這個(gè)信號(hào)之后,槽函數(shù)會(huì)被調(diào)用。
一.環(huán)境配置
1.python 3.7.8??
可直接進(jìn)入官網(wǎng)下載安裝:Download Python | Python.org
2.QT?Designer?
官方下載路徑:Qt Designer Download for Windows and Mac
二.實(shí)例演示
1.?這邊為了方便,直接用Qt?Designer?來設(shè)計(jì)界面的布局,如下:
?
很普通的一個(gè)界面,甚至還有點(diǎn)丑,那我們來給以上控件編輯信號(hào)與槽,如下:
?
以上我們分解為三個(gè)部分來說明,信號(hào)與槽的使用,繼續(xù)往下看。
2. 信號(hào)與槽demo1:
這邊我們用到了pushButton、lineEdit這兩個(gè)控件,通過Qt?Designer?的左上角edit-->>編輯信號(hào)與槽,將pushButton作為信號(hào),lineEdit為槽,連接后給通過定義pushButton信號(hào)clicked()函數(shù)到我們的lineEdit槽函數(shù),這邊lineEdit槽函數(shù)為clear()。
上述信號(hào)與槽的功能定義為:通過單擊我們的pushButton按鈕來清除lineEdit文本的內(nèi)容,我們實(shí)際操作一下看看:
(1)lineEdit添加文本
(2)清除文本
?
單擊我們的?pushButton按鈕,lineEdit里面的內(nèi)容就被清理了。這樣大家對(duì)于信號(hào)與槽的機(jī)制大概有了一個(gè)了解了,當(dāng)然,還可以通過編輯不同的槽函數(shù),如selectAll()、cut()等等。
2. 信號(hào)與槽demo2:
那么我們第二部分,只用到了一個(gè)控件?pushButton,我們將pushButton作為信號(hào),MainWindow作為槽,直接給槽定義了close()函數(shù),這樣我們通過單擊pushButton這一信號(hào)發(fā)射給了MainWindow,槽函數(shù)接收到了信號(hào)后執(zhí)行close()函數(shù),即關(guān)閉我們的主頁面,如下:
如上,單擊?pushButton這個(gè)按鈕,即關(guān)閉整個(gè)主界面。
3. 信號(hào)與槽demo3:
第三部分,我們用到了兩個(gè)checkBox控件和一個(gè)textEdit控件,兩個(gè)信號(hào)都為clicked()是一個(gè)單擊pushButton按鈕的信號(hào),分別給到我們的textEdit槽綁定了hide()、show()函數(shù),這兩個(gè)函數(shù)我們根據(jù)英文簡單理解就是隱藏、顯示的意思。
下面來執(zhí)行這兩個(gè)槽函數(shù):
通過執(zhí)行我們的?checkBox1發(fā)射的單擊按鈕信號(hào),觸發(fā)了槽的hide()函數(shù),我們的textEdit就被隱藏起來了。
在點(diǎn)擊我們的checkBox2發(fā)射的單擊按鈕信號(hào),觸發(fā)了槽的show() 函數(shù),我們的textEdit控件有顯示出來了。
三.總結(jié)
那么我們基于?Qt?Designer?的信號(hào)與槽的使用就是這樣了。文章來源:http://www.zghlxwxcb.cn/news/detail-686615.html
@Neng文章來源地址http://www.zghlxwxcb.cn/news/detail-686615.html
到了這里,關(guān)于【QT】信號(hào)和槽(15)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!