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

标签 c++ qt user-interface qtextedit

这个问题听起来很简单,但我一直在努力解决它。

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

和a.cpp、b.cpp、c.cpp、main.cpp、mainwindow.cpp

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

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

上面的代码如果写在“mainwindow.cpp”中可以正常工作,但我希望 a、b、c 类中的那些消息也可以在我的文本编辑组件中打印。

我该怎么办?

最佳答案

有两种方法可以解决这个问题:

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

在 a, b cnd c 中,您将通过调用函数或发出信号来替换 printf 的出现。

我可能会选择第二个选项。

关于c++ - QTGUI - 如何在主窗口上打印来自其他类的消息(QString)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32347965/

相关文章:

qt - qrand 不生成随机数

c++ - QThreaded C++ 守护程序未正常关闭

python - pyqt:获取文本光标的当前行号

forms - 显示没有默认 Access 框架的 Access GUI

prototype - 一个简单但功能强大的网站 map 设计工具?

c++ - 如何使用 mplayer 播放到内存

用于生成部分 switch 语句的 C++ 模板?

c++ - 如何用 C 或 C++ 编写只有 GET 和 POST 方法的 http 协议(protocol)客户端

c++ - 有条件地跳过 dll 依赖项

c++ - 派生 QPainterPath,QPainter 性能快速下降