View previous topic :: View next topic |
Author |
Message |
Maialovic Apprentice
Joined: 25 Apr 2006 Posts: 255
|
Posted: Mon Oct 26, 2009 4:00 pm Post subject: [RISOLTO] C++/QT problema metodo connect |
|
|
allora ragassuoli, spero che qui dentro ci sia qualche simpatico programmatore in C++/QT che possa aiutarmi: il mio problema è dovuto al fatto che, nel mio programma, ho fatto un override della classe QDialog e ho scritto cosi :
Code: |
class LWindow : public QDialog
{
public:
Libro p;
LWindow(QWidget *parent, Libro, QString);
~LWindow();
int prezzo;
QWidget g;
QString editore;
QSpinBox voto;
public slots:
int getvoto();
void setvoto(int);
void annullaInserimento();
void setlodo();
void inserisciRoto();
};
|
ora, quando scrivo il connect che mi serve scrivo Code: | connect(cancel,SIGNAL(clicked()),this,SLOT(annullaInserimento())); | dove cancel è un pulsante che inizializzato prima. idem per lo slot inserisciRoto() e setlodo().
pero quando avvio il programma, dopo averlo compilato, appena richiamo la funzione che fa istanzia il mio oggetto di tipo LWindow, mi restituisce
Code: |
Object::connect: No such slot QDialog::setlodo()
Object::connect: No such slot QDialog::annullaInserimento()
Object::connect: No such slot QDialog::inserisciRoto()
|
ma dico io: setlodo, annullaInserimento e inserisciRoto sono slots di LWindow e io ho istanziato un oggetto LWindow, perche mi da l'errore di sopra? pare che crei un oggetto QDialog....perche?
Last edited by Maialovic on Thu Oct 29, 2009 10:12 am; edited 1 time in total |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Mon Oct 26, 2009 6:12 pm Post subject: |
|
|
Prova a mettere la dichiarazione dello slot tra gli slot privati. |
|
Back to top |
|
|
Apetrini Veteran
Joined: 09 Feb 2005 Posts: 1158
|
Posted: Mon Oct 26, 2009 6:27 pm Post subject: |
|
|
Ti manca la dichiarazione per il pre processore.
dopo "public:" devi inserire una riga nuova con "Q_OBJECT". Rilancia qmake.
E comunque hai "derivato la classe". _________________ Linux ape 2.6.31-vanilla. Paludis since 0.28.0. |
|
Back to top |
|
|
Maialovic Apprentice
Joined: 25 Apr 2006 Posts: 255
|
Posted: Mon Oct 26, 2009 7:12 pm Post subject: |
|
|
come dici ora tu(Q_OBJECT) mi restituisce
Code: | lwindow.h: In member function 'void MainWindow::inserisciVoto()':
lwindow.h:13: error: 'LWindow::LWindow(QWidget*)' is private
mainwindow.cpp:144: error: within this context | .
sto impazzendo......ho solo modificato 2 cavolate del progetto e mi si è sballato tutto, e non riesco a sistemare.....prima il mio 1 post...ora questo... |
|
Back to top |
|
|
Maialovic Apprentice
Joined: 25 Apr 2006 Posts: 255
|
Posted: Mon Oct 26, 2009 7:28 pm Post subject: |
|
|
risolto......anke se lho messo prima e non dopo il public |
|
Back to top |
|
|
Apetrini Veteran
Joined: 09 Feb 2005 Posts: 1158
|
Posted: Tue Oct 27, 2009 3:36 pm Post subject: |
|
|
E' stato un mio lapsus, volevo dire prima di "public:" _________________ Linux ape 2.6.31-vanilla. Paludis since 0.28.0. |
|
Back to top |
|
|
Maialovic Apprentice
Joined: 25 Apr 2006 Posts: 255
|
Posted: Thu Oct 29, 2009 10:12 am Post subject: |
|
|
cmq risolto e grazie del sostegno / aiuto |
|
Back to top |
|
|
|