如何在主窗口上打印来自其他类的消息(QString)

QTGUI - How to print a message(QString) on the mainwindow that comes from other Classes?

本文关键字:其他 消息 QString 窗口 打印      更新时间:2023-10-16

这个问题听起来很简单,但我一直很纠结。

我有a.h b.h c.h mainwindow。h

和a.p p, b.p p, c.p, main.cpp, mainwindow.cpp

在a, b, c这些c++类中我有一些自定义函数,它们之间的共同点是它们都使用"printf"来打印一些消息(因为它们都来自c++)。

在我的UI中,我拖动文本编辑器并使用" UI -> texttedit ->append(QString str)"来打印消息。

上面的代码工作良好,如果写在"mainwindow.cpp",但我希望这些消息在a, b, c类也可以打印在我的文本编辑组件。

我该怎么办?

我有两种方法:

  1. 在主窗口中创建一个以QString作为参数的公共方法。该函数将使用ui->textedit->append()将传入的字符串写入文本编辑小部件。
  2. 使用信号/槽位组合的方式与1相同。

在a, b和c中,你可以用调用函数或者发出一个信号来替换printf的出现。

我可能会选择第二个选项