5

我使用qt Designer创建了一个漂亮的工具栏,并用一些动作填充它。
我尝试通过单击edit> signals and slots将操作从 qt 设计器视觉连接到插槽。这不起作用,因为我找不到任何 QAction 信号。

问题。

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

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

但我很懒,我希望使用 qt 设计器进行连接。

4

4 回答 4

5

有“信号/插槽编辑器”停靠面板(使用视图->信号/插槽编辑器切换)。您可以在那里连接您的操作。您可能还需要通过“更改信号/插槽”表单上下文菜单添加自定义插槽。

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

于 2011-01-12T16:47:04.970 回答
4

在 Docs Designer 连接模式中查看此处...如何在设计器中自动连接

于 2011-01-12T16:56:16.520 回答
3

使用“动作编辑器”面板。您可以在“信号和插槽编辑器”附近找到它。

于 2012-05-07T14:03:06.330 回答
-1

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

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..

以上类型的管理使您的编码变得容易......

于 2013-09-02T02:04:18.930 回答