美文网首页
窗口间通信

窗口间通信

作者: MisakaMikotoSAM | 来源:发表于2016-06-29 11:38 被阅读15次

    在两个不同窗口间,我们有时会需要从一个窗口获得数据并传递给另外一个窗口,为了完成这个操作,我们就需要自己设计窗口的信号。

    比如我存在两个窗口,窗口1与窗口2,我需要从窗口2上的lineEdit接收数据并传递给窗口1。

    //窗口2,需要在类中加入对应的信号
    signals:
        void sendMessage(const QString);       //需要发送出去的信号
    
    private slots:
        void pushButtonSlot();      //并且设计对应的槽函数
    
    void window2::pushButtonSlot()
    {
           emit sendMessage(ui->lineEdit->text()); //将lineEdit上的文本直接发送出去
    }
    
    //窗口1,需要加入槽函数来接收这个信号
    private slots:
        void getMessage(const QString);   //需要和信号函数的参数一致
    
    QObject::connect(this->window,&window2::sendMessage,this,&window1::getMessage);  //将窗口2的信号与窗口1的槽函数进行连接
    
    void window1::getMessage(const QString temp)
    {
          //在这里我们已经获得了来自窗口2的QString
          //do something  
    }
    

    相关文章

      网友评论

          本文标题:窗口间通信

          本文链接:https://www.haomeiwen.com/subject/rkqxjttx.html