qt model-view 交互

msg.h

#pragma once
#include <QObject>
//#include "data_define.h"

using namespace std;

class Msg : public QObject {
    Q_OBJECT
public:
    static Msg &Inst() {
        static Msg m;
        return m;
    }

signals:
    void sigplotCPKData(QString &data);  //信号

private:
    Msg() {}
    ~Msg() {}
};


model_cpk.cpp:
signals:
    void sigDataPlot(QString &data);
	
private:
    init(){
		emit sigDataPlot("test"); //通过信号把数据发送出去
	};
	
	
	
model_cpk.cpp:
void ModelCpk::Init():
connect(this, &ModelCpk::sigDataPlot, &Msg::Inst(), &Msg::sigplotCPKData);

view_cpk.cpp:
void ViewCpk::initConnection() {
    connect(m_table->horizontalHeader(), &QHeaderView::sectionDoubleClicked, this, &ViewCpk::slotheadClicked);
    connect(&Msg::Inst(), &Msg::sigplotCPKData, this, &ViewCpk::slotgetcpkData);
}
private slots:
    void slotheadClicked(int logicalIndex);
    void slotgetcpkData(QString  &data);
	
	
void ViewCpk::slotgetcpkData(QString &data) {
    //接收数据
    qDebug() << datas << Qt::endl;
}
posted @ 2022-12-01 22:54  微笑的''80  阅读(27)  评论(0)    收藏  举报