2010-12-14 60 views
1

在Qt中,我有一个菜单栏,看起来是这样的:如何在单击菜单项时调用函数?

|File| 
+-------------------+ 
|Do Something  | 
|Do Something Else | 
+-------------------+ 

我有一个函数doSomething,我想被调用时,在文件菜单中的Do Something用户点击,和功能doSomethingElse那我同样希望在用户点击该菜单项时被调用。我怎么做到这一点?

回答

8

一般来说,你的菜单项是QAction s。将QAction信号triggered()与您要调用的doSomething()相连。

This这是如何工作的一个非常全面的描述。但address book tutorialthis section是一个很好的快速解释。

+0

如果函数不是任何类的一部分,有没有办法做到这一点? – wrongusername 2010-12-14 20:33:50

+0

我不这么认为。如果我记得正确,槽必须是具有Q_OBJECT宏的类的成员函数。 – jkerian 2010-12-15 00:50:21

+1

从我的第一个链接“所有包含信号或插槽的类必须在其声明的顶部提到Q_OBJECT,它们还必须从QObject派生(直接或间接)”。 – jkerian 2010-12-15 00:52:27

2

使您的功能成为一个插槽并将菜单操作连接到插槽。

相关问题