Buonasera ho un problema apparentemente banale a cui non riesco a trovare soluzione; (Utilizzo come ide il QtSDK che ho scaricato dal sito qtsoftware.com) il problema é questo:
Ho due classi in due file diversi, vorrei semplicemente chiamare un metodo della classe B (la seconda) attraverso la pressione di un bottone della classe A (la prima); posto una piccola porzione di codice delle 2 classi:
P.S. l'header (.h) e il sorgente (.cpp) sono in file diversi
Classe ricerca:
codice:
#ifndef RICERCA_H
#define RICERCA_H
#include <mainwindow.h>
class Ricerca : public QWidget {
Q_OBJECT
MainWindow Lav;
public:
Ricerca();
private slots:
void avviaRic();
private:
QPushButton *cerca;
};//Fine Header
#include <QtGui>
#include "ricerca.h"
#include "mainwindow.h"
Ricerca::Ricerca() {
cerca = new QPushButton(tr("Avvia"),this);
cerca->setFixedSize(50,20);
connect(cerca,SIGNAL(clicked()),this,SLOT(avviaRic()));
}
void Ricerca::avviaRic() {
Lav.cambiaTool(2);
}
Classe MainWindow:
codice:
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow();
private:
QToolBar *toolBar;
public slots:
void cambiaTool(int k);
};//Fine Header
MainWindow::MainWindow() {
toolBar = new QToolBar(this);
addToolBar(toolBar);
}
void MainWindow::cambiaTool(int k) {
if (k==0) toolBar.setVisible(false);
}
e infine il main:
codice:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
Ora queste sono solo due classi (da cui ho tolto praticamente tutto!!) del mio progettino, tutto funzionava a meraviglia e la GUI veniva compilata e lanciata con tutte i suoi Widget, inserendo il codice che ho postato sopra (ho dichiarato solo l'oggetto MainWindow per poter chiamare un metodo contenuto in quella classe) se compilo non mi viene restituito nessun errore nel codice, ma la GUI non compare piu e dopo una 30ina di secndi nel report di compilazione compare questo messaggio "Interfaccia.exe exited with code -1073741819"
Come Procedo??
Grazie mille