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

  • 相关阅读:
    背水一战 Windows 10 (90)
    背水一战 Windows 10 (89)
    背水一战 Windows 10 (88)
    背水一战 Windows 10 (87)
    背水一战 Windows 10 (86)
    背水一战 Windows 10 (85)
    背水一战 Windows 10 (84)
    背水一战 Windows 10 (83)
    背水一战 Windows 10 (82)
    背水一战 Windows 10 (81)
  • 原文地址:https://www.cnblogs.com/lomper/p/3954660.html
Copyright © 2011-2022 走看看