首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将按钮单击信号(“触发”信号)与Qt工具栏中的用户按钮的动作/插槽功能连接起来?

如何将按钮单击信号(“触发”信号)与Qt工具栏中的用户按钮的动作/插槽功能连接起来?
EN

Stack Overflow用户
提问于 2011-03-17 16:08:54
回答 1查看 4.1K关注 0票数 0

在先前关于“堆栈溢出”论坛上关于在questions下设计和开发的应用程序下的菜单和操作的讨论(参见“如何将菜单与questions中的操作连接起来”:How to connect menu click with action in Qt Creator?)之后,--恐怕我在尝试创建和填充Qt创建者.中的操作按钮--也有相同的问题。

那么,我们走!

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

(步骤1和步骤2对我来说没有什么困难,虽然这是一种对我来说不太合适的方法,因为其他的UIM设计工具通常会提出相反的步骤2和1来做同样的事情,在我看来,这是比较“自然”的,但是,我知道,在我们软件设计和编程的世界中,有很多东西是存在和共存的.)

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

我的意思是,如何将给定动作(工具栏按钮)的“触发”信号连接到需要在以后实现的插槽(函数).?使用Qt中的“信号和插槽编辑器”是否有可能这样做,或者我是否必须在代码的某个地方调用"connect()“来实现这一点?非常感谢所有的帮助/建议/详细的例子在这一点上的完美初学者.

事实上,我想知道是否有可能不自己调用connect()来满足这种需要,而我们的Qt Creator将自己创建槽(功能)原型,或者在Qt Creator能够考虑到新的槽(功能)原型之前,我们必须自己创建这样的插槽(功能)原型,并在这个通常/正常的UIM设计步骤/设计能力中真正帮助/帮助用户/开发人员.?

诚挚的问候。

阿兰-皮埃尔

EN

回答 1

Stack Overflow用户

发布于 2011-07-30 12:06:25

如果QAction是一个成员如果您的窗口,那么正常

代码语言:javascript
复制
QMetaObject::connectSlotsByName(SettingsDialog);

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

代码语言:javascript
复制
void on_actionSomething_triggered();

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

此外,right-clicking在动作编辑器中的动作,并选择‘去插槽.’将允许您为操作可能发出的任何信号创建一个插槽函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5341826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档