2

我有一个由管理QTextEdit小部件的QMainWindow作为父级的QTabWidget

我想知道何时在一个选项卡中更改了内容并知道是哪一个。我一直在尝试用谷歌搜索一个解决方案,但是在我的代码和我的类的体系结构发生了许多更改之后。

我最后一次尝试是:

QTextEdit* curr_text_edit = /*slots were used to get this pointer*/;
connect(curr_text_edit, SIGNAL(textChanged()), this, SLOT(marquerChangement()));

但是永远不会调用插槽“marquerChangement()”。有任何想法吗?

4

1 回答 1

0

如果没有调用 marquerChangement(),则可能只有两个原因。首先是由 curr_text_edit 表示的 QTextEdit 从不发出信号(换句话说,也许你得到了错误的 QTextEdit?)。

另一种可能是您的呼叫connect失败。此信号/插槽连接是在运行时完成的,而不是编译时。这里的失败通常只是打印到标准输出,然后程序就可以愉快地运行了。检查您的应用程序输出以查看您是否收到有关未找到信号或插槽的消息。

于 2012-10-01T01:00:10.257 回答