使用Qt进行开发,我有一个类class willwork;我希望在main.cpp中窗口关闭时,告知于willwork中的某个函数,请给我一个示例
时间: 2024-04-16 21:28:16 浏览: 88
当窗口关闭时,可以使用Qt的信号和槽机制来实现将信息传递给willwork类中的某个函数。以下是一个示例代码:
```cpp
// main.cpp
#include <QApplication>
#include <QMainWindow>
#include "willwork.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow mainWindow;
// 创建willwork对象
willwork myWillWork;
// 将窗口的关闭信号与willwork对象的槽函数关联
QObject::connect(&mainWindow, &QMainWindow::destroyed, &myWillWork, &willwork::onWindowClosed);
mainWindow.show();
return a.exec();
}
```
```cpp
// willwork.h
#ifndef WILLWORK_H
#define WILLWORK_H
#include <QObject>
class willwork : public QObject
{
Q_OBJECT
public:
explicit willwork(QObject *parent = nullptr);
public slots:
void onWindowClosed();
};
#endif // WILLWORK_H
```
```cpp
// willwork.cpp
#include "willwork.h"
#include <QDebug>
willwork::willwork(QObject *parent) : QObject(parent)
{
}
void willwork::onWindowClosed()
{
qDebug() << "Window closed!";
// 在这里执行你想要的操作
}
```
在上面的示例中,我们创建了一个名为`willwork`的类,并在其中定义了一个名为`onWindowClosed`的槽函数。在`main.cpp`中,我们创建了一个主窗口`mainWindow`和一个`willwork`对象`myWillWork`。通过使用`QObject::connect`函数,将主窗口的`destroyed`信号与`willwork`对象的`onWindowClosed`槽函数进行关联。当窗口关闭时,`onWindowClosed`函数将被调用,并在控制台输出"Window closed!"的消息。
请注意,上述示例中使用了`QObject::connect`函数来建立信号和槽之间的连接,这是Qt中实现事件驱动编程的常用方式。
阅读全文