Hallo, ich versuche im 2 Fenster 2 des unteren Proggis Text der unteren QLineEdit nach oben zu übernehmen (mit testen ()), stürzt ab und wird oben(QlineEdit) nicht angezeigt . Warum klappt es nicht, bin Neuling in QT? Hier Counter.h: #include QLineEdit #include QPushButton #include QDialog
class Counter : public QLineEdit
{
Q_OBJECT // Enable signals and slots
public:
Counter (QWidget *parent=0);
~Counter();
QPushButton *cl, *plus;
QWidget *fen;
public slots:
void countUp();
void testen();
void MeinFenster();
private:
char zahlwort[200];
Counter *gf, *hf;
int n;
QString zahli;
};
hier Counter.cpp
#include "counter.h"
Counter::Counter (QWidget *parent)
: QLineEdit (parent),
n(0){}
Counter::~Counter() {}
void Counter :: MeinFenster() //QWidget parent)
{
fen = new QWidget();
fen->setGeometry(100,200,300,200);
fen->show();
gf = new Counter(fen); // Eigentlich als Eingabe gedacht
gf->setGeometry(10,10,100,20);
gf->show();
hf = new Counter(fen); // Als Ausgabe der Berechnungen gedacht
hf->setGeometry(10,50,100,20);
hf->show();
hf->setText(zahli);
cl = new QPushButton("test", fen);
cl->setGeometry(50,120,95,20);
cl->show();
plus = new QPushButton("plus", fen);
plus->setGeometry(50,150,95,20);
plus->show();
QObject::connect(cl, SIGNAL (clicked()), gf, SLOT(testen()));
QObject::connect(plus, SIGNAL (clicked()), hf, SLOT(countUp()));
}
void Counter::countUp ()
{
zahli = text();
n = zahli.toInt();
n++;
zahli.setNum(n);
setText(zahli);
}
void Counter :: testen()
{
zahli = hf->text();
setText(zahli);
}
Counter::Counter (QWidget *parent)
: QLineEdit (parent),
n(0){}
Counter::~Counter() {}
void Counter :: MeinFenster() //QWidget parent)
{
fen = new QWidget();
fen->setGeometry(100,200,300,200);
fen->show();
gf = new Counter(fen); // Eigentlich als Eingabe gedacht
gf->setGeometry(10,10,100,20);
gf->show();
hf = new Counter(fen); // Als Ausgabe der Berechnungen gedacht
hf->setGeometry(10,50,100,20);
hf->show();
hf->setText(zahli);
cl = new QPushButton("test", fen);
cl->setGeometry(50,120,95,20);
cl->show();
plus = new QPushButton("plus", fen);
plus->setGeometry(50,150,95,20);
plus->show();
QObject::connect(cl, SIGNAL (clicked()), gf, SLOT(testen()));
QObject::connect(plus, SIGNAL (clicked()), hf, SLOT(countUp()));
}
void Counter::countUp ()
{
zahli = text();
n = zahli.toInt();
n++;
zahli.setNum(n);
setText(zahli);
}
void Counter :: testen()
{
zahli = hf->text();
setText(zahli);
}
soll hf->text() heißen main.cpp = okay. Kann nicht auf Text der anderen mit Counter gesetzten QLineEdit-Elemente zurückgreifen. CountUp= ok.. Wird ohne Fehler / Warnmeldungen compiliert. Aber wenn ich versuche mit testen gf->text auf den Text vom Element gf zurückzugreifen will, stürzt das Prog ab. setText("hallo") wird angezeigt warum? Falsche Klasse oder was?
Wenn du nicht verstehst was mit zahli gemeint ist, dann ist es wohl nicht für dich gedacht. Bist wohl zu alt. Verschwende deine Zeit nicht mit so einen nutzlosen Kommentar. Nen schönen Tag wünsche ich dir :)