qt父对象acpp子对象bcpp在父对象内new出子对象的两个界面12在界面1的按钮点击的槽函数内得到的值如何在界面2内点击按钮使用
要在界面1的按钮点击槽函数内获取值,并在界面2内点击按钮使用该值,可以通过以下步骤实现:
-
在父对象a.cpp中定义一个成员变量来存储需要共享的值,例如
sharedValue。 -
在界面1的按钮点击槽函数内,将需要共享的值赋给
sharedValue。 -
在界面2的类中,创建一个成员函数来接收
sharedValue的值,并在界面2的按钮点击槽函数内使用该值。
下面是一个示例代码:
在a.cpp中:
#include "a.h"
#include "b.h"
void A::createB()
{
B* b = new B(this);
// 在界面1的按钮点击槽函数内获取值并赋给sharedValue
connect(b, &B::buttonClicked, this, [=](int value) {
sharedValue = value;
});
b->show();
}
在b.cpp中:
#include "b.h"
void B::on_button_clicked()
{
// 界面1的按钮点击槽函数内发射buttonClicked信号,并传递需要共享的值
emit buttonClicked(42);
}
在b.h中:
#ifndef B_H
#define B_H
#include <QWidget>
class B : public QWidget
{
Q_OBJECT
public:
explicit B(QWidget *parent = nullptr);
signals:
// 定义一个信号用于界面1的按钮点击槽函数内发射
void buttonClicked(int value);
private slots:
void on_button_clicked();
};
#endif // B_H
这样,当界面1的按钮点击时,会将值42赋给sharedValue,然后在界面2的按钮点击槽函数内就可以使用sharedValue了
原文地址: https://www.cveoy.top/t/topic/iNYD 著作权归作者所有。请勿转载和采集!