这个问题听起来很简单,但我一直在努力解决它。
我有 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 类中的那些消息也可以在我的文本编辑组件中打印。
我该怎么办?
最佳答案
有两种方法可以解决这个问题:
- 在主窗口中创建一个公共(public)方法,该方法将 QString 作为参数。此函数将使用 ui->textedit->append() 将传入的字符串写入文本编辑小部件。
- 以与 1 大致相同的方式使用信号/槽组合。
在 a, b cnd c 中,您将通过调用函数或发出信号来替换 printf 的出现。
我可能会选择第二个选项。
关于c++ - QTGUI - 如何在主窗口上打印来自其他类的消息(QString)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32347965/