QT跨文件调用槽函数:信号与槽机制实现
"在一个.cpp文件中调用另一个.cpp文件中的槽函数,可以使用信号与槽机制来实现。\n\n首先,在第一个.cpp文件中定义一个信号,然后在第二个.cpp文件中定义一个槽函数,并连接这两个信号和槽函数。\n\n例如,在第一个.cpp文件中定义一个信号:\ncpp\n#include \"first.h\"\n\nFirst::First(QWidget *parent) : QWidget(parent)\n{\n // 创建按钮\n QPushButton *button = new QPushButton(\"点击按钮\", this);\n\n // 连接按钮的点击事件和自定义的信号\n connect(button, SIGNAL(clicked()), this, SIGNAL(customSignal()));\n}\n\n\n在第二个.cpp文件中定义一个槽函数:\ncpp\n#include \"second.h\"\n\nSecond::Second(QWidget *parent) : QWidget(parent)\n{\n // 创建第一个.cpp文件的对象\n First *first = new First(this);\n\n // 连接第一个.cpp文件的信号和第二个.cpp文件的槽函数\n connect(first, SIGNAL(customSignal()), this, SLOT(handleCustomSignal()));\n}\n\nvoid Second::handleCustomSignal()\n{\n // 处理信号的槽函数\n qDebug() << \"收到自定义信号\";\n}\n\n\n这样,当第一个.cpp文件中的按钮被点击时,会触发第一个.cpp文件中的信号,然后连接的第二个.cpp文件中的槽函数会被调用。\n
原文地址: https://www.cveoy.top/t/topic/pK4t 著作权归作者所有。请勿转载和采集!