0

之前已经看到“stackoverflow”论坛上关于在 Qt Creator 下设计和开发的应用程序下设计和管理菜单和操作的现有讨论(请参阅“如何在 Qt Creator 中将菜单单击与操作连接起来?”:如何将菜单单击与操作连接起来在 Qt Creator 中?),恐怕我对工具栏中的操作按钮有同样的问题,我正在尝试使用 Qt 创建者创建和填充...

所以,我们走吧!

(1) 我在动作编辑器中创建了至少一个动作... (2) 我将该动作拖放到工具栏

(第 1 步和第 2 步都可以,这些没有问题,虽然这对我来说是一种非常不常用的方法,因为其他 UIM 设计工具通常会提出相反的第 2 步和第 1 步来做同样的事情,这更“自然” “在我看来,但是,我知道,在我们的软件设计和编程世界中存在并共存了很多东西......)

=>(3)如何关联(连接)单击给定工具栏按钮时应该调用的函数(我将要实现的)?

我的意思是,如何将给定操作(工具栏按钮)的“触发”信号连接到稍后要实现的所需插槽(功能)......?是否可以使用 Qt Creator 中的“信号和插槽编辑器”来做这些事情,还是我必须自己在代码中的某个地方调用“connect()”来实现这一点?非常感谢您在这一点上为完美初学者提供的任何帮助/建议/详细示例...

事实上,我想知道是否可以不自己调用 connect() 来满足这种需要,Qt Creator 会自己创建插槽(函数)原型还是我们必须自己创建这样的插槽(函数)原型Qt Creator 可以将新的插槽(功能)原型考虑在内,并真正协助/帮助用户/开发人员进行这种通常/正常的 UIM 设计步骤/设计能力... ?

此致。

阿兰-皮埃尔

4

1 回答 1

0

如果QAction是成员如果你的窗口,那么正常

QMetaObject::connectSlotsByName(SettingsDialog);

...将动作的trigger信号与适当命名的插槽方法连接起来。这通常由使用设计器创建的 GUI 类自动调用。因此,如果操作被命名actionSomething,例如,在您的 GUI 类中创建一个插槽,其签名如下:

void on_actionSomething_triggered();

...将意味着您不必手动connect处理信号和插槽。

此外,在动作编辑器中右键单击动作并选择“转到插槽...”将允许您为动作可能发出的任何信号创建插槽函数。

于 2011-07-30T12:06:25.823 回答