如何通过外部命令与Qt小部件通信?

时间:2013-12-12 10:17:21

标签: c++ qt

我正在开发一个工具,在该工具的主窗口上添加了几个Qt小部件。 当我们习惯人民币点击Qt小部件时,会弹出一个上下文菜单(并通过eventFilter调用几个函数)来完成所需的工作 - 比如说,doTask()插槽会被接收器对象调用。

现在我必须在窗口上添加一个横幅菜单,它必须复制RMB上下文菜单的所有功能。 由于这个标题菜单不是Qt,而是写在一些内部函数(比如LISP)中,我在调用槽函数时遇到了问题 - doTask(),因为我不知道什么是接收器对象。

如何通过一些外部命令/语言与Qt小部件进行通信?

如果有任何不明确之处,请添加评论。

2 个答案:

答案 0 :(得分:1)

您是否可以从充当插槽调用的代理的QT感知对象中公开简单的C样式方法。即您的横幅调用方法,方法然后调用适当的插槽?

答案 1 :(得分:1)

您的基本问题是只知道接收器对象。一旦你这样做,你可以直接调用它的插槽(不需要通过信号)。

菜单知道这一点,因为它保留了一个指向接收器对象的指针。您自己的横幅菜单也必须这样做。 “它不知道接收器对象”因此必须修复。