qt提供了訊號與槽機制用於完成介面操作的響應,是完成任意兩個qt物件之間進行通訊的一種機制。訊號會在某種情況下被觸發,槽則是負責接受並處理這個觸發訊號的函式。
當乙個特定的事件發生時,乙個訊號被發射出去,與這個訊號相關聯的槽則會響應這個訊號並完成相應的處理。當乙個類被繼承時,該類的訊號與槽都會被繼承訊號與槽機制連線方式
1.乙個訊號與另乙個訊號連線
connect(object1,signal(signal1),object2,signal(signal1));
表示object1訊號1發射可以觸發object2的訊號1發射。
2.同乙個訊號與多個槽連線
connect(object1,signal(signal2),object2,signal(slot2));
connect(object1,signal(signal2),object3,signal(slot1));
表示object1的訊號2發射可以觸發object2和object3的槽產生響應。
3.同乙個槽響應多個訊號
connect(object1,signal(signal2),object2,signal(slot2));
connect(object3,signal(signal2),object2,signal(slot2));
表示object2的槽slot2可以響應object1和object2的訊號觸發。
常用的連線方式為:connect(object1,signal(signal1),object2,slot(slot));
表示object2的槽slot響應object1的訊號signal1。
實際上signal()
與slot()
是qt定義的兩個巨集,它們只是返回其引數的c語言風格的字串(const char *
)。因此以下關聯訊號與槽的兩條語句是等價的。1.
connect(button,signal(clicked()),this,slot(showarea()));
2.
connect(button,"clicked()",this,"showarea()");
主要介紹qt的字串類2.1 字串類qstring
,qt容器類,qvariant
類及qt常用的演算法和正規表示式,然後概括介紹常用的控制項名稱及其用法。
qt提供了兩種字串,一種是c語言風格的以2.2 容器類"\0」
字元結尾的字元陣列,另一種是字串類string
,而qt字串類qstring
的功能更強大。
qstring
類儲存16位的unicode值,提供了豐富的操作、查詢和轉化的函式,該類還進行了隱式共享(implicit sharing)、高效的記憶體分配策略等多方面的優化。
Qt學習筆記一
首先需要注意的是,qt3 和 qt4的區別較大,許多庫函式都有改變,如果用qt3的 在qt4的編譯器上執行,則有很大的概率會出錯,所以學習資料和使用的qt版本一定要配套。裝fc6的時候,預設裝了qt3.3,而其中的qt assistant不能直接使用,解決方式是再裝個qt4,使用qt4的assist...
Qt學習筆記 一
幾種helloworld程式的編寫 1 qt c 專案 qt gui應用 專案名稱 helloworld 類資訊 類名 hellodialog 基類 qdialog 標頭檔案,原始檔和介面檔案自動生成。設計介面 之後編譯執行即可。補充 圖示更換,將myico.ico複製到工程目錄下,再建乙個 myi...
Qt學習筆記一
qt是乙個多平台的c 圖形使用者介面應用程式框架。它提供給應用程式開發者建立藝術級的圖形使用者介面所需的所用功能。qt是完全物件導向的很容易擴充套件,並且允許真正地元件程式設計。本文主要練習使用qt軟體,做乙個簡單手工布局。模板是windows的執行桌面應用。開啟qt creater,新建乙個空專案...