实现步骤:
1、在A界面创建两个QPushButton;
2、在B界面创建QTabWidget和两个标签页;
3、在b.cpp中通过函数的实现的方式来区分两个标签页;
4、在a.cpp中通过信号和槽来实现具体按钮跳转具体页面。
代码实现如下:
b.h
//声明显示两个标签页的函数
void showLocalTab();
void showRealTimeTab();
b.cpp
//通过ui的方式来实现两个标签也
ui->tabWidget->setTabText(0,"LocalTab");
ui->tabWidget->setTabText(1,"RealTimeTab");
//实现两个标签页的函数
void B::showLocalTab()
{
this->setCurrentTab(0); //LocalTab标签为0
}
void B::showRealTimeTab()
{
this->setCurrentTab(1); //RealTimeTab标签为1
}
a.cpp
QPushButton * localBtn = new QPushButton("本地",this);
QPushButton * realTimeBtn = new QPushButton("实时",this);
bWindow = new B(this);
connect(localButton, &QPushButton::clicked, [=](){
bWindow->showLocalTab(); bWindow->show();
});
connect(realTimeButton, &QPushButton::clicked, [=](){
bWindow->showRealTimeTab(); bWindow->show();
});
通过信号和槽机制,A界面可以控制B界面的内容,而不需要直接访问B界面的内部实现。