用QT写一个父窗口向子窗口单向传数据的代码
时间: 2024-02-20 08:56:39 浏览: 79
以下是一个简单的示例代码,演示了如何在QT中实现父窗口向子窗口单向传数据:
```cpp
// 父窗口类
class ParentWindow : public QWidget {
public:
ParentWindow(QWidget *parent = nullptr) : QWidget(parent) {
// 创建子窗口对象
childWindow = new ChildWindow(this);
// 连接信号槽
connect(this, &ParentWindow::sendDataToChild, childWindow, &ChildWindow::receiveData);
}
private:
ChildWindow *childWindow; // 子窗口指针
};
// 子窗口类
class ChildWindow : public QWidget {
public:
ChildWindow(QWidget *parent = nullptr) : QWidget(parent) {}
public slots:
void receiveData(const QString &data) {
// 处理收到的数据
qDebug() << "Received data from parent window:" << data;
}
};
// 主函数
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
ParentWindow parentWindow;
parentWindow.show();
// 发送数据到子窗口
emit parentWindow.sendDataToChild("Hello, child window!");
return app.exec();
}
```
在上面的代码中,父窗口创建了一个子窗口对象,并连接了一个信号槽,使得当父窗口发出 `sendDataToChild` 信号时,子窗口的 `receiveData` 槽函数会被调用。在主函数中,我们通过发射信号的方式向子窗口发送了一条数据。
阅读全文