qt点击A界面的pushbutton按钮弹出B窗口,在B窗口点击B窗口的pushbutton后在A界面textedit中显示数字
时间: 2023-12-05 12:03:19 浏览: 85
要实现这个功能,需要进行以下步骤:
1. 创建两个界面,A界面和B界面。
2. 在A界面中创建一个PushButton按钮,并在其clicked()信号中添加以下代码:
```
void MainWindow::on_pushButton_clicked()
{
BWindow *bWindow = new BWindow(this);
bWindow->show();
}
```
这将创建一个BWindow对象并显示它。
3. 在B界面中创建一个PushButton按钮,并在其clicked()信号中添加以下代码:
```
void BWindow::on_pushButton_clicked()
{
int number = 123; // 可以替换为任何数字
emit sendNumber(number);
this->hide();
}
```
这将发射一个自定义信号sendNumber,并将一个数字发送到A界面。
4. 在A界面的头文件中添加以下代码:
```
public slots:
void receiveNumber(int number);
```
这将创建一个名为receiveNumber的槽函数,用于接收从B界面发射的数字。
5. 在A界面的源文件中实现receiveNumber槽函数:
```
void MainWindow::receiveNumber(int number)
{
ui->textEdit->setText(QString::number(number));
}
```
这将将接收到的数字转换为QString,并设置为textEdit的文本。
6. 在A界面的构造函数中连接信号和槽:
```
connect(bWindow, SIGNAL(sendNumber(int)), this, SLOT(receiveNumber(int)));
```
这将连接BWindow的sendNumber信号和MainWindow的receiveNumber槽函数。
现在,当在A界面中单击PushButton按钮时,将弹出BWindow。在BWindow中单击PushButton按钮后,将在A界面的textEdit中显示数字。
阅读全文