main.cpp 和 mainwindow.cpp 之间的交互

Posted

技术标签:

【中文标题】main.cpp 和 mainwindow.cpp 之间的交互【英文标题】:Interaction between main.cpp and mainwindow.cpp 【发布时间】:2016-02-24 00:21:46 【问题描述】:

我正在使用 OpenCV 在 Qt 中处理图像。图像处理在main.cpp处理,得到一些测试对象后,进入mainwindows.cpp显示界面获取数据并进行一些分析。 完成后,我需要回到 main.cpp 进行另一个图像处理。

但是如何将信息从 mainwindow.cpp 发送到 main.cpp?

此信息将在网络摄像头图像的循环中。我已经尝试在这个循环中使用 w.getInformation 但它会导致崩溃。事实上,我只需要在主窗口需要时在主窗口上更改它,而不是循环的每一帧。

我该怎么做?

【问题讨论】:

我说这是一个 XY 问题。 meta.stackexchange.com/questions/66377/what-is-the-xy-problem 从您的 QMainWindow 的插槽执行图像处理,而不是直接从 int main() 【参考方案1】:

我建议将您的图像处理代码从 main.cpp 移至不同的类。在您的 main 中,创建图像处理类和主窗口类的实例。

在您的主窗口类中,将合适的主窗口信号连接到图像处理类的插槽。阅读 Qt 的 SIGNALs and SLOTs 机制。

【讨论】:

以上是关于main.cpp 和 mainwindow.cpp 之间的交互的主要内容,如果未能解决你的问题,请参考以下文章

QT Creator中[main]和[mainwindow]的区别

Qt之菜单栏,和对话框

如何在 QT 中加载 UI 表单?

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

最简单的VS-Qt-CMake项目框架

来自另一个类的 Qt c++ GUI 调用