如何使用qt设计器将QActions连接到SLOTS

时间:2011-01-12 16:05:19

标签: qt qt4 qt-designer

我使用 qt Designer 创建了一个漂亮的工具栏,并用一些动作填充它。
我尝试通过点击编辑> 通过qt designer 直观地将操作连接到插槽信号和插槽。这 DID NOT WORK 因为我找不到任何QAction信号。

问题。

有没有办法将QAction SIGNAL(triggered())连接到QT设计器中的插槽? 请帮忙。
PS: 我目前被迫通过代码连接:

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

但是我很懒,我希望使用qt designer进行连接。

4 个答案:

答案 0 :(得分:4)

在Docs Designer Connection Mode中查看...如何在设计器中自动连接

答案 1 :(得分:3)

“信号/插槽编辑器”对接面板(与视图 - >信号/插槽编辑器一起切换)。 您可以在那里连接您的行动。 您可能还需要通过“更改信号/插槽”表单上下文菜单添加自定义插槽。

为了节省一些工作,请使用自动连接功能(请参阅QMetaObject::connectSlotsByName)。基本上,所有以on_objectName_signalName特定模式命名的插槽都将自动连接。

答案 2 :(得分:2)

使用“动作编辑器”面板。你可以在“Signals& Slots editor”附近找到它。

答案 3 :(得分:-1)

如果您有菜单,请根据菜单命名您的操作对象,假设您有:

File Edit View Tools Help

你有5个菜单栏,

所以你有一套action_x,x是一个数字。请根据你的菜单命名你的x。

更多解释:

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

你有5x2 = 10,你有10个动作,请管理如:

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

以上的管理类型使您的编码变得轻松.....