004
14.10.2003, 15:51 Uhr
~toom
Gast
|
Ich poste zur Sicherheit mal den gesamten Quellcode:
Hier ist mein Headerdatei für die Klasse MyCannonField:
C++: |
#include <qwidget.h> #include <qpainter.h> #include <qevent.h>
#define null NULL
class MyCannonField : public QWidget {
Q_OBJECT
int angle;
public: MyCannonField( int angle = null , QWidget* parent = null, const char* name = null);
int getAngle() { return this->angle; }
public slots: void setAngle(int);
signals: void angleChanged(int);
protected: void paintEvent(QPaintEvent* ); };
|
Hier kommt MyCannonField.cpp:
C++: |
#include <qwidget.h> #include <qstring.h> #include <qpainter.h> #include <qevent.h>
#include "mycannonfield.h"
#define null NULL
MyCannonField::MyCannonField(int angle , QWidget* parent , const char* name ) : QWidget( parent, name) { this->angle = angle; }
void MyCannonField::setAngle(int angle) { this->angle = angle; repaint(); emit angleChanged(angle); }
void MyCannonField::paintEvent( QPaintEvent * ) { QString s = "Angle = " + QString::number( angle ); QPainter p( this ); p.drawText( 200, 200, s ); }
|
Und zum Schluss main.cpp, wobei ich nicht glaube, dass der Fehler da liegt:
C++: |
#include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <qlcdnumber.h> #include <qlayout.h> #include <qslider.h>
#include "mycannonfield.h"
#define null NULL
class MyWidget: public QWidget { public: MyWidget( QWidget* parent , const char* name ); };
MyWidget::MyWidget( QWidget* parent = null , const char* name = null) : QWidget(parent, name) {
/*...GridLayout for formatation...*/ QGridLayout* qGrid = new QGridLayout(this, 2, 2);
/*...defining some objects, we want to integrate...*/ QPushButton* qButt = new QPushButton("Quit this shit", this, null);
QSlider* qSlider = new QSlider(this); qSlider->setRange(0,99);
QLCDNumber *lcd = new QLCDNumber(this);
MyCannonField* myCannon = new MyCannonField(25, this, null);
/*connect signals and slots of some objects above...*/ QObject::connect(qButt, SIGNAL(clicked()), qApp, SLOT(quit()));
QObject::connect( qSlider, SIGNAL( valueChanged(int) ), lcd, SLOT(display(int)));
QObject::connect( qSlider, SIGNAL( valueChanged(int)), myCannon, SLOT( setAngle(int)));
/*...Now, add all object into the qGrid...*/ qGrid->addWidget(qButt,1,2); qGrid->addWidget(lcd,1,1); qGrid->addWidget(qSlider,2,1); qGrid->addWidget(myCannon,2,2); } //end class MyWidget
int main(int argc, char** argv) { QApplication* qApp = new QApplication(argc, argv); MyWidget* myWidget = new MyWidget(); qApp->setMainWidget(myWidget); myWidget->show();
return qApp->exec(); }
|
Ich seh jetzt leider nicht was fehlt (liegt wohl daran, dass ich keine Erfahrung hab).
mfg tom
Bearbeitung von loddab: |
code-Tags durch cpp-Tags ersetzt
|
Dieser Post wurde am 15.10.2003 um 09:28 Uhr von Loddab editiert. |