002
08.10.2004, 14:25 Uhr
Kasperdelasopa
|
Also KDevelop beendet das Programm mit dem Status 253, und der Crashmanager sagt es wurde das Signal 11 (SIGSEGV);
Zum Quelltext, da is ja eine von mir geschriebene Klasse ist sind das insgesammt 3 *.cpp und 2 *.h Dateien, und um alles im Context zu sehen muss ich dir schon alles zeigen aber von mir aus kann ich des mal machen.
main.cpp:
C++: |
#include "schaulager.h" #include "fenster.h" #include <kapplication.h> #include <kaboutdata.h> #include <kcmdlineargs.h> #include <klocale.h>
static const char description[] = I18N_NOOP("A KDE KPart Application");
static const char version[] = "0.1";
static KCmdLineOptions options[] = { // { "+[URL]", I18N_NOOP( "Document to open." ), 0 }, KCmdLineLastOption };
int main(int argc, char **argv) { KAboutData about("schaulager", I18N_NOOP("Schaulager"), version, description, KAboutData::License_GPL, "(C) 2004 Manuel Sch", 0, 0, "Kasperdelasopa@linux"); about.addAuthor( "Manuel Sch", 0, "Kasperdelasopa@linux" ); KCmdLineArgs::init(argc, argv, &about); KCmdLineArgs::addCmdLineOptions( options ); KApplication app; Schaulager *mainWin = 0;
if (app.isRestored()) { RESTORE(Schaulager); } else { // no session.. just start up normally KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
/// @todo do something with the command line args here
Schaulager *mainWin = new Schaulager(); app.setMainWidget( mainWin ); mainWin->show(); args->clear(); }
// mainWin has WDestructiveClose flag by default, so it will delete itself. return app.exec(); }
|
schaulager.cpp:
C++: |
#include "schaulager.h" #include "fenster.h" #include <kmainwindow.h> #include <klocale.h>
Schaulager::Schaulager(): KMainWindow( 0, "Schaulager" ) {
QPushButton *schalter = new QPushButton("anzeigen",this);
Fenster *fenster = new Fenster("!!!NOCH NIX!!!"); fenster->setGeometry(300,750,280,80); fenster->show(); connect(schalter,SIGNAL(clicked()),SLOT (fensterauf()));
}
Schaulager::~Schaulager() { }
void Schaulager::fensterauf() { fenster->verstecken(); //hier direkt hide() auzurufen geht auch nicht }
#include "schaulager.moc"
|
schaulager.h:
C++: |
#ifndef _SCHAULAGER_H_ #define _SCHAULAGER_H_
#ifdef HAVE_CONFIG_H #include <config.h> #endif
#include <kmainwindow.h> #include <qpushbutton.h> #include "fenster.h"
class Schaulager : public KMainWindow { Q_OBJECT public: Schaulager(); virtual ~Schaulager(); public:
QPushButton *schalter; Fenster *fenster;
public slots:
void fensterauf(); };
#endif // _SCHAULAGER_H_
|
fenster.cpp:
C++: |
#include "fenster.h" #include <kmainwindow.h> #include <klocale.h>
Fenster::Fenster(QString text): KMainWindow( 0, "Fenster" ) { QPushButton *schalter_1 = new QPushButton("JA",this); schalter_1->move(30,30); QPushButton *schalter_2 = new QPushButton("NEIN",this); schalter_2->move(150,30); QLabel *anzeige = new QLabel(text,this); anzeige->setGeometry(60,5,250,20);
connect(schalter_1,SIGNAL(clicked()),SLOT (ja())); connect(schalter_2,SIGNAL(clicked()),SLOT (nein())); }
Fenster::~Fenster() { }
void Fenster::ja() { } void Fenster::nein() { close(); }
void Fenster::zeigen() { show(); }
void Fenster::verstecken() { hide(); }
#include "fenster.moc"
|
fenster.h:
C++: |
#ifndef _FENSTER_H_ #define _FENSTER_H_
#ifdef HAVE_CONFIG_H #include <config.h> #endif
#include <kmainwindow.h> #include <qpushbutton.h> #include <qlabel.h> #include <qstring.h>
class Fenster : public KMainWindow { Q_OBJECT public: Fenster(QString text); virtual ~Fenster(); public:
QPushButton *schalter_1, *schalter_2; QLabel *anzeige;
public slots:
void ja(); void nein(); void zeigen(); void verstecken(); };
#endif // _SCHAULAGER_H_
|
|