在一个.cpp文件中调用另一个.cpp文件中的槽函数,可以使用信号与槽机制来实现。

首先,在第一个.cpp文件中定义一个信号,然后在第二个.cpp文件中定义一个槽函数,并连接这两个信号和槽函数。

例如,在第一个.cpp文件中定义一个信号:

#include "first.h"

First::First(QWidget *parent) : QWidget(parent)
{
    // 创建按钮
    QPushButton *button = new QPushButton("点击按钮", this);

    // 连接按钮的点击事件和自定义的信号
    connect(button, SIGNAL(clicked()), this, SIGNAL(customSignal()));
}

在第二个.cpp文件中定义一个槽函数:

#include "second.h"

Second::Second(QWidget *parent) : QWidget(parent)
{
    // 创建第一个.cpp文件的对象
    First *first = new First(this);

    // 连接第一个.cpp文件的信号和第二个.cpp文件的槽函数
    connect(first, SIGNAL(customSignal()), this, SLOT(handleCustomSignal()));
}

void Second::handleCustomSignal()
{
    // 处理信号的槽函数
    qDebug() << "收到自定义信号";
}

这样,当第一个.cpp文件中的按钮被点击时,会触发第一个.cpp文件中的信号,然后连接的第二个.cpp文件中的槽函数会被调用

QT如何在一个cpp内点击按钮的槽函数调用另一个cpp内的槽函数

原文地址: https://www.cveoy.top/t/topic/h13c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录