Asmodean | Bonjour,
Je développe un petit projet pour mes études mais je tombe sur un problème à chaque fois que je ferme mon programme...ce n'est pas trop genant me direz vous mais de 1 ca fait pas propre et de 2 ca doit vouloir dire que je n'ai pas compris une subtilité du C++ et ca me derange beaucoup.
Mon programme est développez sous qt mais à prioris ce n'est pas ça qui doit faire planter...enfin j'espère que qt n'est pas incompatible avec ce que je veux faire...
Voila mon code: Othellier.h
Code :
- #ifndef H_OTHELLIER
- #define H_OTHELLIER
- #include <qlabel.h>
- #include <QWidget.h>
- #include <QGridLayout.h>
- class Case : public QWidget {
- public:
- Case( QWidget *parent = NULL );
- };
- class Othellier : public QLabel {
- public:
- Othellier( int sizeOthellier, QWidget *parent = NULL );
- ~Othellier();
- private:
- Case ** tiles;
- int size;
- };
- #endif
|
Othellier.cpp
Code :
- #include "othellier.h"
- Othellier::Othellier( int sizeOthellier, QWidget *parent ){
- int i,j;
- QGridLayout *layout = new QGridLayout;
- setPalette(QPalette(QColor(0, 0, 0)));
- setAutoFillBackground(true);
- setFixedSize(440,440);
- tiles = new Case* [sizeOthellier];
- for( i=0;i<sizeOthellier;i++){
- tiles[i] = new Case [sizeOthellier];
- for( j=0;j<sizeOthellier;j++){
- Case *temp = &tiles[i][j];
- layout->addWidget(temp,i,j);
- }
- }
- this->setLayout(layout);
- }
- Othellier::~Othellier(){
- int i;
- for( i=0;i<size;i++){
- delete [] tiles[i];
- }
- delete [] tiles;
- }
- Case::Case( QWidget *parent ) : QWidget(parent){
- setPalette(QPalette(QColor(10, 173, 29)));
- setAutoFillBackground(true);
- setFixedSize(50,50);
- }
|
Main.cpp
Code :
- #include <qstring.h>
- #include <qapplication.h>
- #include <qpushbutton.h>
- #include <qmenubar.h>
- #include <qmenu.h>
- #include "othellier.h"
- int main(int argc, char *argv[])
- {
- QApplication app(argc, argv);
- Othellier myWindow(8);
- myWindow.setGeometry(100, 100,700, 500);
- myWindow.show();
- return app.exec();
- }
|
J'imagine que ca vient du faite de la matrice allouer dynamiquement mais malgrès le delete ca marche toujours pas... Message édité par Asmodean le 19-02-2006 à 20:38:20
|