2015-01-05 54 views
-2

我試圖在Qt4中創建一個信號和插槽,我對Qt相當陌生。從我在Qt5中所瞭解的情況來看,它只是自動創建的,而Qt4似乎並非如此。我試圖創建一個動作,當用戶點擊UI的菜單欄中的一個選項時=我看到屏幕底部有一個Signal/Slot編輯器,其中帶有「Sender」選項, 「信號」,「接收器」和「插槽」。我不完全確定如何使用這個功能。任何幫助表示讚賞。Qt4中的信號和插槽

+3

您是否閱讀過[Qt4中有關信號和插槽的文檔?](http://qt-project.org/doc/qt-4.8/signalsandslots.html) – Bowdzone

回答

2

基本上你需要連接你的信號和插槽

connect(ui->button1, SIGNAL(clicked()), this, SLOT(yourSlot())); 

,並在這個環節有關於信號和插槽很好的例子:signals and slots in qt

0

您似乎誤解了。

Qt 5的區別在於它提供了新的語法來建立連接。

當你沒有指定連接類型(即直接,排隊等)時,連接是「自動」的,默認是自動的,這會使Qt檢查對象的線程所有權並選擇適當的連接類型。

連接必須在代碼中顯式創建,或者使用UI編輯器創建,雖然後者可以爲某些情況保存一些輸入信息,但一般情況下,您最終創建的大多數連接在代碼中都是明確的,所以你最好學習如何去做,因爲UI編輯器只能在幾個角落裏幫助你。我沒有真正使用UI編輯器進行連接,並且在幾年前嘗試過一兩次,但我認爲限制只能在UI元素和小部件的信號和插槽之間建立連接。

考慮到信號和插槽連接不僅僅是一個UI事物,它是Qt的一個核心原則,UI只是其衆多用途之一。