mainwindow.h 中包含以下内容

在mainwindow.cpp 中创建界面
创建operation.cpp 里面直接使用mainwindow类的_Connect函数,不报错,也不触发事件

怎么将界面和功能分离
mainwindow.h 中包含以下内容

在mainwindow.cpp 中创建界面
创建operation.cpp 里面直接使用mainwindow类的_Connect函数,不报错,也不触发事件

怎么将界面和功能分离
阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题是,MainWindow.h 文件包含了界面相关的内容,但是在 MainWindow.cpp 文件中创建界面,并在 Operation.cpp 文件中使用 MainWindow 类的 _Connect 函数,不报错,但是也没有触发事件。
解决方案:
ui 对象来访问界面控件。例如:MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
ui->setupUi(this);
}
_Connect 函数时,需要使用 this 指针来访问 MainWindow 对象。例如:void Operation::doSomething() {
MainWindow *mainWindow = this; // 或者使用 MainWindow::getInstance() 等方式获取 MainWindow 对象
mainWindow->_Connect();
}
注意:在 Qt 中,界面控件和业务逻辑应该分离,MainWindow 对象应该负责界面相关的内容,而 Operation 对象应该负责业务逻辑相关的内容。