zoukankan      html  css  js  c++  java
  • QT5中两个窗体之间传递信息(值)

    一个窗体A调用另一个窗体B

    1)包含窗体B的头文件#include"B.h"

    2)在窗体A中增加slots函数:

    public slots:
        void infoRecv(QString);

      实现infoRecv函数体:

    void A::infoRecv(QString sInfo)
    {
        ui->label->setText(sInfo);//将获取的信息显示出来
    }

    3)在窗体B中增加signals函数:

    signals:
      void infoSend(QString);

    4)在窗体A调用B的地方增加窗体交流绑定代码:

    B idg = new B();
    connect( idg ,SIGNAL(infoSend(QString) ,this ,SLOT(infoRecv(QString)));
    idg.init(); //idg窗体的初始化工作
    idg.show();

    5)在窗体B中增加发送信息的代码:

    void B::on_buttonBox_clicked(QAbstractButton *button)
    {
        QString sInfo;
        if(ui->buttonBox->button(QDialogButtonBox::Cancel)==button) //需要增加头文件:#include<QPushBox>
            sInfo="cancel"; 
        else if(ui->buttonBox->button ( QDialogButtonBox::OK ) == button )
                sInfo="ok";
        emit infoSend(sInfo); //infoSend函数不需要有函数体
    }

    至此,实现了在A窗体中调用B窗体,并将B窗体的信息传入到A窗体使用。

    如果是父子窗体,在子窗体中调用父窗体的信息,可以在父窗体中增加一个public函数提供给子窗体获取信息使用。

  • 相关阅读:
    设计模式-结构型模式总结
    设计模式-享元模式
    设计模式-组合模式
    设计模式-桥接模式
    设计模式-装饰器模式
    设计模式-外观模式
    设计模式-代理模式
    设计模式-适配器模式
    VMware该虚拟机似乎正在使用中
    BurpSuite-Burp Proxy
  • 原文地址:https://www.cnblogs.com/lomper/p/3954660.html
Copyright © 2011-2022 走看看