2011-01-12 27 views
4

我使用qt Designer創建了一個漂亮的工具欄,並用一些操作填充它。
我試圖通過點擊編輯>信號和插槽將動作連接到插槽上,從視覺上直接從插槽設計器連接插槽。這沒有工作,因爲我找不到任何QAction信號。如何使用qt設計器將QActions連接到SLOTS

問題。

有沒有辦法將QAction SIGNAL(觸發())連接到QT設計器中的插槽? 請幫忙。
PS: 我目前正在被迫通過代碼連接:

QObject::connect(myAction, SIGNAL(triggered()),this, SLOT(myActionWasTriggered())) 

但IA我懶,我希望使用Qt設計進行連接。

回答

4

看......如何在設計

+0

th您可以使用自動連接http://doc.trolltech.com/4.6.2/designer-using-a-ui-file.html#automatic-connections ...與您的源文件 – Azd325 2011-01-12 16:57:03

3

有「信號/插槽編輯器」停靠面板(切換到視圖 - >信號/插槽編輯器)。 你可以在那裏連接你的動作。 您可能還需要通過「更改信號/插槽」表單上下文菜單添加自定義插槽。

爲了節省一些工作量,請使用自動連接功能(請參閱QMetaObject::connectSlotsByName)。基本上,所有以on_objectName_signalName的特定模式命名的插槽都將自動連接。在這裏文檔Designer Connection Mode

2

使用「動作編輯器」面板autconnect。你可以在「Signals & Slots editor」附近找到它。

0

如果你有菜單,請爲您的操作對象,以根據菜單,假設你有:

File Edit View Tools Help 

你有5個菜單欄,

所以你有一組action_x的,X是一個數字。請根據您的菜單命名您的x。

更多explaintion:

File = 1 
Edit = 2 
View = 3 
Tools = 4 
Help = 5 

並假設:

File---> Open ..Close 
Edit---> find...replace 
View---> ZoomIn ... ZoomOut 
Tools--->calender... prefrences 
help---> help... about 

你有5×2 = 10,你有10個動作,請管理如:

action_11 == File>Open 
action_12 == File>close 
action_21 == Edit>find 
and so on.. 

上述類型的管理讓您輕鬆編碼.....