Qt多个ui界面,如何建立联系

https://blog.csdn.net/qq_41399894/article/details/87460230

一、最简单的方法:

无非就是你建了多个ui界面, 然后你只需要new它,获得它的地址信息,就可以建立联系了,如下

在MainWindow.c添加,然后MainWindow.c就可以跟test1和test2建立联系了

    testOne = new test1;
    testTwo = new test2;
    testTwo->setWindowTitle("test2");
    testOne->setWindowTitle("test1");
    connect(this,SIGNAL(sendTest1(QString)),testOne,SLOT(setText(QString)));
    connect(this,SIGNAL(sendTest2(QString)),testTwo,SLOT(setText(QString)));

再添加两个按键

void MainWindow::on_pushButton_clicked(){

testOne->show();

emit sendTest1("this is test1");}

void MainWindow::on_pushButton_2_clicked(){

testTwo->show();

emit sendTest2("this is test2");}

效果为:

 

二、如果还有其他函数想链接到test1和test2函数,而且你还不可以在new test1和test2,你可以以MainWindow.c为中介,发信号给MainWindow.c,因为MainWindow.c早就new了test,所以就可以发信号了,但是这样就会显得繁琐,好处了减少了内存消耗,先新建一个test3,

test3里面只有两个按键,发信号给mainwindos,


void test3::on_pushButton_clicked()
{
    emit showtest1("通过mainw显示test1");
}

void test3::on_pushButton_2_clicked()
{
    emit showtest2("通过mainw显示test2");
}
在mainwindows里面关联这个信号,
    testThree = new test3;
    testThree->setWindowTitle("test3");
    connect(testThree,SIGNAL(showtest1(QString)),this,SLOT(mTshowTest1(QString)));
    connect(testThree,SIGNAL(showtest2(QString)),this,SLOT(mTshowTest2(QString)));
void MainWindow::mTshowTest1(const QString & text1)
{

    testOne->show();
    emit sendTest1(text1);
}

void MainWindow::mTshowTest2(const QString & text2)
{
    testTwo->show();
    emit sendTest2(text2);
}

 

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个跨平台的C++应用程序开发框架,可以用于快速、高效地开发GUI界面。在Qt中,可以通过多种方式实现多个UI界面的切换。 一种常用的方式是使用QStackedWidget控件。QStackedWidget是一个堆叠窗口容器,可以在其中放置多个UI界面,通过setCurrentIndex函数可以切换不同的界面。首先,需要在Qt Designer中设计好每个UI界面,然后在代码中创建对应的窗口对象,并将其添加到QStackedWidget控件中。当需要切换到另一个界面时,可以调用setCurrentIndex函数设置当前界面的索引值,从而实现界面的切换。 另一种方式是使用QTabWidget控件。QTabWidget是一个选项卡窗口容器,可以通过选项卡来切换不同的UI界面。类似于QStackedWidget,首先需要在Qt Designer中设计好每个UI界面,并在代码中创建对应的窗口对象。然后,将这些窗口对象添加到QTabWidget控件中,并设置对应的选项卡标题。通过切换选项卡,即可实现不同界面的切换。 此外,还可以使用QMainWindow作为主窗口,通过在其中添加不同的子窗口对象来实现界面的切换。在需要切换界面时,可以使用setCentralWidget函数设置中心窗口部件,来替换当前显示的子窗口界面。 总之,Qt提供了多种方式来实现多个UI界面的切换,开发者可以根据具体需求选择合适的方法来实现界面的动态切换。通过这些方法,可以方便地实现复杂的界面逻辑和用户交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值