в классе PushBox есть кнопка del, при ее нажатии в классе TextEdit должен вызыватся слот clear(). НО не фига не получается.
Qt запутанная какаято не как не вкурю вот код подскажите как надо
#include <QtGui/QApplication>
#include "textedit.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
TextEdit w;
w.resize(400, 600);
w.show();
return a.exec();
}
#ifndef TEXTEDIT_H
#define TEXTEDIT_H
#include <QtGui/QWidget>
#include <QtGui>
class PushBox:public QWidget
{
Q_OBJECT
protected:
QPushButton *p1;
QPushButton *del;
QPushButton *quit;
QHBoxLayout *pH;
public:
PushBox(QWidget *p = 0);
};
class TextEdit : public QWidget
{
Q_OBJECT
public:
TextEdit(QWidget *parent = 0);
//~TextEdit();
private:
QVBoxLayout *pV; // = new QVBoxLayout; ERROR
QLabel *plbl;
QTextEdit *pte;
PushBox *pPB;
};
#endif // TEXTEDIT_H
#include "textedit.h"
TextEdit::TextEdit(QWidget *parent)
: QWidget(parent)
{
plbl = new QLabel(" TEXT EDIT");
pte = new QTextEdit;
pPB = new PushBox;
//connect(PushBox::quit, SIGNAL(clicked()), pte, SLOT(clear()));
//SetLayout
pV = new QVBoxLayout;
pV->addWidget(plbl);
pV->addWidget(pte);
pV->addWidget(pPB);
this->setLayout(pV);
}
/*TextEdit::~TextEdit()
{
}*/
PushBox::PushBox(QWidget *p)
{
p1 = new QPushButton("1");
del = new QPushButton("Delete");
quit = new QPushButton("Quit");
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
connect(del, SIGNAL(clicked()), TextEdit::pte, SLOT(clear()));
// Layout
pH = new QHBoxLayout;
pH->addWidget(p1);
pH->addWidget(del);
pH->addWidget(quit);
this->setLayout(pH);
}
я уже и так и эдак пробовал.
я так думаю у класса PushBox должен быть свой сигнал (в смысле пользовательский), но как его сотварить???