国产综合久久久久久精品,国产精品成人av片免费看,国产精品天天看天天狠,国产专区国产精品国产三级,国产大片内射1区2区

您的位置:首頁>新聞 > 資本 >

《C++ GUI Qt4編程》第2章——?jiǎng)?chuàng)建對(duì)話框——深入介紹信號(hào)和槽

2023-08-12 06:30:44    來源:博客園


(資料圖片僅供參考)

槽和普通的C++成員函數(shù)幾乎是一樣的——可以是虛函數(shù);可以被重載;可以是公有的、保護(hù)的或者私有的,并且也可以被其他C++成員函數(shù)直接調(diào)用,它們的參數(shù)可以是任意類型。唯一不同的是:槽還可以和信號(hào)連接在一起,在這種情況下,每當(dāng)發(fā)射這個(gè)信號(hào)的時(shí)候,就會(huì)自動(dòng)調(diào)用這個(gè)槽。

connect(sender, SIGNAL(signal), receiver, SLOT(slot));

這里的sender和receiver是指向QObject的指針,signal和slot是不帶參數(shù)的函數(shù)名。實(shí)際上,SIGNAL()宏和SLOT()宏會(huì)把它們的參數(shù)轉(zhuǎn)換成相應(yīng)的字符串。

信號(hào)與槽的連接

// 一個(gè)信號(hào)可以連接多個(gè)槽(順序不確定)connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));connect(slider, SIGNAL(valueChanged(int)), this, SLOT(updateStatusBarIndicator(int)));// 多個(gè)信號(hào)可以連接同一個(gè)槽connect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));connect(calculator, SIGNAL(divisionByZero()), this, SLOT(handleMathError()));// 一個(gè)信號(hào)可以與另外一個(gè)信號(hào)連接(當(dāng)發(fā)射第一個(gè)信號(hào)時(shí),也會(huì)發(fā)射第二個(gè)信號(hào))connect(lineEdit, SIGNAL(textChanged(const QString &)), this, SIGNAL(updateRecord(const QString &)));// 連接可以被移除(這種情況很少用到,因?yàn)楫?dāng)刪除對(duì)象時(shí),Qt會(huì)自動(dòng)移除和這個(gè)對(duì)象相關(guān)的所有連接)disconnect(lcd, SIGNAL(overflow()), this, SLOT(handleMathError()));

關(guān)鍵詞:

相關(guān)閱讀