2016-10-27 1 views

Antwort

0

die QLineEdit hat entweder von außen zugänglich sein (öffentlich oder zu bekommen), oder Sie haben das Signal, das Sie interessiert sind zu übermitteln.

zugängliche Version (unvollständig und sehr schmutzig)

class Peakdetechtion { // horrible name 
public: 
    QLineEdit* getLineEdit() { return m_lineEdit; } // don't do it 

private: 
    QLineEdit* m_lineEdit; 
}; 

class Peaksettingform : public QObject { //horrible name 
    Q_OBJECT 
public: 
    Peaksettingform(Peakdetechtion *p, QObject *parent = 0) 
    : QObject(parent) { 
    // you can do this from outside and replace 'this' with a pointer to a Peaksettingform object 
    connect(p->getLineEdit(), SIGNAL(textChanged(const QString &)), this, SLOT(handleText(const QString &))); 
} 

public slots: 
    void handleText(const QString &); 
}; 

Signalweiterleitung

class Peakdetechtion : public QObject { // horrible name 
Q_OBJECT 
public: 
    Peakdetechtion() { 
    m_lineEdit = new QLineEdit(); // should have a parent but i am lazy 
    connect(m_lineEdit, SIGNAL(textChanged(const QString&)), this, SIGNAL(leTextChanged(const QString&))); 
    } 

signals: 
    void leTextChanged(const QString &); 

private: 
    QLineEdit* m_lineEdit; 
}; 

class Peaksettingform : public QObject { //horrible name 
    Q_OBJECT 
public: 
    Peaksettingform(Peakdetechtion *p, QObject *parent = 0) 
    : QObject(parent) { 
    // you can do this from outside and replace 'this' with a pointer to a Peaksettingform object 
    connect(p, SIGNAL(leTextChanged(const QString &)), this, SLOT(handleText(const QString &))); 
} 

public slots: 
    void handleText(const QString &); 
}; 
+0

Accessible Version ist nicht in Arbeit. . . Kannst du herausfinden warum? @Lifeisabug –

+0

@GiridhariLal - Was meinst du mit "nicht wokring"? Erklären Sie die Problemsymptome. –

+0

Der von mir bereitgestellte Code ist offensichtlich nicht kompilierbar. Es war lediglich eine Demonstration, wie Sie dieses Problem angehen können. Sie müssen sich entweder direkt mit der Leitung verbinden, die von außen zugänglich sein muss, oder Sie können die Signale, die Sie benötigen, weiterleiten und von außen an diese weitergeleiteten Signale anschließen. – Lifeisabug

Verwandte Themen