一、说明
A=子界面 B=主界面 , 实现A往B传值,B显示.
二、利用emit和slot实现
2.1 对A.h 添加声明
signals:
void sendData(QString); //用来传递数据的信号
2.2在A.cpp中适当位置将数据进行发射
emit sendData(ui->lineEdit->text()); //获取lineEdit的输入并且传递出去
2.3 在B.h中添加接收数据的声明
private slots:
void receiveData(QString data); //接收传递过来的数据的槽
2.4 在B.cpp将信号和槽进行connect
Dialog *dlg = new Dialog;
//关联信号和槽函数
connect(dlg, SIGNAL(sendData(QString)), this, SLOT(receiveData(QString))); dlg->show();
//实现接收槽函数
void MainWindow::receiveData(QString data)
{
ui->textEdit->setText(data); //显示接收的QString
}
qt-两个界面传值交互
![](https://img-home.csdnimg.cn/images/20240711042549.png)