カスタムシグナルとスロット

#pragma

の#include <QWidgetの> 
の#include " ui_RecvSignal.h " 

クラス RecvSignal:公共QWidgetの
{ 
    Q_OBJECT 

公共明示 RecvSignal(QWidgetの*親= Q_NULLPTR)。
    RecvSignal(); 

公共スロット:
     のrecvmsg(QStringの列str); 

プライベート
    宇井:: RecvSignal UI。
}。

#include " RecvSignal.h " 
の#include <QMessageBox> 

RecvSignal :: RecvSignal(QWidgetの * 親)
    :QWidgetの(親)
{ 
    ui.setupUi(
} 

RecvSignal ::RecvSignal()
{ 
} 

ボイドRecvSignal ::のrecvmsg(QStringのSTR)
{ 
    QMessageBox ::情報(NULL、TR(" 收到" )、STR)。
}
#pragma

の#include <QWidgetの> 
の#include " ui_SendSignal.h " 

クラス SendSignal:公共QWidgetの
{ 
    Q_OBJECT 

公共明示 SendSignal(QWidgetの*親= Q_NULLPTR)。
    SendSignal(); 

信号:
    無効SENDMSG(QStringの列str); 

公共スロット:
     無効ButtonClicked(); 

プライベート
    宇井:: SendSignal UI。
}。

#include " SendSignal.h " 

SendSignal :: SendSignal(QWidgetの *親)
    :QWidgetの(親)
{ 
    ui.setupUi(

    接続する(この - > ui.pushButton、SIGNAL(クリック())、この、SLOT(ButtonClicked())); 

} 

SendSignal ::SendSignal()
{ 
} 

ボイドSendSignal :: ButtonClicked()
{ 
    ((TR SENDMSGを発する" 发送数据----ハロー" ))。
}
#include " _1_hello.h " 
の#include <QtWidgets /はQApplication> 
の#include <QtWidgets / QLabel> 

の#include " HelloWidget.h " 
の#include " SendSignal.h " 
の#include " RecvSignal.h " 

int型のmain(int型 ARGC、CHAR * ARGV [])
{ 
    はQApplication(ARGC、ARGV)。
    // _1_helloワット。
    // w.show(); 

    // QLabelラベル(QLabel :: TR( "坚持"));
    // label.show(); 

    // HelloWidget HW。
    //hw.show(); 

    SendSignal SS; 
    RecvSignalのRS。

    QObject ::接続(&SS、SIGNAL(SENDMSG(QStringの))、&RS、SLOT(のrecvmsg(QStringの))); 

    ss.show(); 


    戻るa.exec(); 
}

 

おすすめ

転載: www.cnblogs.com/dianrain/p/11110698.html