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函数提供给子窗体获取信息使用。

  • 相关阅读:
    D
    C
    如何用最简单的方式解释依赖注入?依赖注入是如何实现解耦的?
    二维数组中的查找
    简单对称算法
    冒泡排序(数组排序)
    二分查找
    斐波那契数列
    顺序查找(数组里查找某个元素)
    二维数组排序算法函数
  • 原文地址:https://www.cnblogs.com/lomper/p/3954660.html
Copyright © 2011-2022 走看看