qt 界面跳转
时间: 2023-07-05 15:15:41 浏览: 133
在 Qt 中,可以使用信号与槽机制来实现界面的跳转。
首先需要定义两个界面类,比如说 A 界面和 B 界面。然后在 A 界面中添加一个按钮,当用户点击按钮时,可以通过信号与槽机制来实现跳转到 B 界面。
在 A 界面的头文件中添加以下代码:
```cpp
#include "B.h" // 包含 B 界面的头文件
class A : public QWidget
{
Q_OBJECT // 必须添加 Q_OBJECT 宏定义
public:
A(QWidget *parent = nullptr);
~A();
private slots:
void on_pushButton_clicked(); // 按钮的槽函数
private:
Ui::A *ui;
B *b; // 创建 B 界面的对象
};
```
在 A 界面的源文件中,实现按钮的槽函数:
```cpp
void A::on_pushButton_clicked()
{
b = new B(this); // 创建 B 界面的对象
b->show(); // 显示 B 界面
this->hide(); // 隐藏 A 界面
}
```
这样,当用户点击 A 界面上的按钮时,就会跳转到 B 界面,同时隐藏 A 界面。
在 B 界面中同样可以添加一个按钮,实现从 B 界面跳转回 A 界面的功能。方法类似,只需要在 B 界面的槽函数中添加以下代码:
```cpp
void B::on_pushButton_clicked()
{
emit showA(); // 发送信号 showA
this->close(); // 关闭 B 界面
}
```
然后在 A 界面中添加一个槽函数,用于接收 B 界面发送的信号 showA:
```cpp
connect(b, SIGNAL(showA()), this, SLOT(show())); // 接收信号 showA
```
这样,当用户在 B 界面点击按钮时,就会发送信号 showA,A 界面接收到信号后就会显示出来,实现了从 B 界面跳转回 A 界面的功能。
阅读全文