mi sento un idiota![]()
ho capito come scrivere la mia classe per il Widget, come avviarla da main(), come creare gli oggetti da nome_classe::nome_classe(...) etc...
metto un Command, creo e implemento il Signal clicked() riferito ad uno slot chiamato slotA() - correttamente impostato. Ora voglio creare una QTextEdit al click... mi viene in mente di mettere il codice dentro lo slotA: ovviamente non funziona: non mi crea nulla... o meglio, crea l'allocazione di memoria ma non mi visualizza la text.
Questo è il codice (la classe si chiama Prova, i file prova.cpp e prova.h)
Prova.cpp:
(in prova.h è tutto a posto)codice:#include "prova.h" #include <qtextedit.h> #include <qpushbutton.h> #include <qvariant.h> Prova::Prova(QWidget *parent, const char *name) : QWidget(parent, name) { txt = new QTextEdit(this, "txt"); txt->setGeometry(QRect(70,90,131,68)); cmd = new QPushButton(this, "cmd"); cmd->setGeometry(QRect(130,270,111,21)); connect(cmd, SIGNAL(clicked()), this, SLOT(slotA())); } Prova::~Prova() { } void Prova::slotA() { txtb = new QTextEdit(this, "txt"); txtb->setGeometry(QRect(100,100,200,200)); }
Dov'è l'errore? come faccio a far apparire il QTextEdit?![]()
Grazie e ciao![]()

Rispondi quotando