for(int i=0;i<9;i++) { for(int j=0;j<9;j++) { connect(&mat1[i][j], SIGNAL(textChanged()),this , SLOT(TheSignal())); } } void Worms::TheSignal() { qApp->beep(); VerifChiffre(); VerifLigne(); VerifColonne(); } void Worms::VerifChiffre() { bool ok; for(int i=0;i<9;i++) { for(int j=0;j<9;j++) { QString str = mat1[i][j].toPlainText (); if(str.toInt(&ok, 10)>9 ) { //mat1[i][j].setTextColor ( Qt::red ); mat1[i][j].clear(); } if(!str.isEmpty ()) { if(str.toInt(&ok, 10)==0 ) { mat1[i][j].clear(); } } } } } void Worms::VerifLigne() { bool ok,un,deux,trois,quatre,cinq,six,sept,huit,neuf; for(int i=0;i<9;i++) { un=false; deux=false; trois=false; quatre=false; cinq=false; six=false; sept=false; huit=false; neuf=false; QPalette palette0; QBrush brush0(QColor(255, 255, 255, 255)); brush0.setStyle(Qt::SolidPattern); palette0.setBrush(QPalette::Active, QPalette::Base, brush0); palette0.setBrush(QPalette::Inactive, QPalette::Base, brush0); for(int l=0;l<9;l++) { mat1[i][l].setPalette(palette0); } for(int j=0;j<9;j++) { QString str = mat1[i][j].toPlainText (); if(str.toInt(&ok, 10)==1 ) { if(un==true) { //mat1[i][j].clear(); QPalette palette; QBrush brush(QColor(255, 0, 0, 255)); brush.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Active, QPalette::Base, brush); palette.setBrush(QPalette::Inactive, QPalette::Base, brush); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette); } } un=true; } if(str.toInt(&ok, 10)==2 ) { if(deux==true) { //mat1[i][j].clear(); QPalette palette2; QBrush brush2(QColor(255, 0, 0, 255)); brush2.setStyle(Qt::SolidPattern); palette2.setBrush(QPalette::Active, QPalette::Base, brush2); palette2.setBrush(QPalette::Inactive, QPalette::Base, brush2); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette2); } } deux=true; } if(str.toInt(&ok, 10)==3 ) { if(trois==true) { //mat1[i][j].clear(); QPalette palette3; QBrush brush3(QColor(255, 0, 0, 255)); brush3.setStyle(Qt::SolidPattern); palette3.setBrush(QPalette::Active, QPalette::Base, brush3); palette3.setBrush(QPalette::Inactive, QPalette::Base, brush3); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette3); } } trois=true; } if(str.toInt(&ok, 10)==4 ) { if(quatre==true) { //mat1[i][j].clear(); QPalette palette4; QBrush brush4(QColor(255, 0, 0, 255)); brush4.setStyle(Qt::SolidPattern); palette4.setBrush(QPalette::Active, QPalette::Base, brush4); palette4.setBrush(QPalette::Inactive, QPalette::Base, brush4); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette4); } } quatre=true; } if(str.toInt(&ok, 10)==5 ) { if(cinq==true) { //mat1[i][j].clear(); QPalette palette5; QBrush brush5(QColor(255, 0, 0, 255)); brush5.setStyle(Qt::SolidPattern); palette5.setBrush(QPalette::Active, QPalette::Base, brush5); palette5.setBrush(QPalette::Inactive, QPalette::Base, brush5); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette5); } } cinq=true; } if(str.toInt(&ok, 10)==6 ) { if(six==true) { //mat1[i][j].clear(); QPalette palette6; QBrush brush6(QColor(255, 0, 0, 255)); brush6.setStyle(Qt::SolidPattern); palette6.setBrush(QPalette::Active, QPalette::Base, brush6); palette6.setBrush(QPalette::Inactive, QPalette::Base, brush6); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette6); } } six=true; } if(str.toInt(&ok, 10)==7 ) { if(sept==true) { //mat1[i][j].clear(); QPalette palette7; QBrush brush7(QColor(255, 0, 0, 255)); brush7.setStyle(Qt::SolidPattern); palette7.setBrush(QPalette::Active, QPalette::Base, brush7); palette7.setBrush(QPalette::Inactive, QPalette::Base, brush7); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette7); } } sept=true; } if(str.toInt(&ok, 10)==8 ) { if(huit==true) { //mat1[i][j].clear(); QPalette palette8; QBrush brush8(QColor(255, 0, 0, 255)); brush8.setStyle(Qt::SolidPattern); palette8.setBrush(QPalette::Active, QPalette::Base, brush8); palette8.setBrush(QPalette::Inactive, QPalette::Base, brush8); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette8); } } huit=true; } if(str.toInt(&ok, 10)==9 ) { if(neuf==true) { //mat1[i][j].clear(); QPalette palette9; QBrush brush9(QColor(255, 0, 0, 255)); brush9.setStyle(Qt::SolidPattern); palette9.setBrush(QPalette::Active, QPalette::Base, brush9); palette9.setBrush(QPalette::Inactive, QPalette::Base, brush9); for(int k=0;k<9;k++) { mat1[i][k].setPalette(palette9); } } neuf=true; } } } } void Worms::VerifColonne() { bool ok,un,deux,trois,quatre,cinq,six,sept,huit,neuf; for(int i=0;i<9;i++) { un=false; deux=false; trois=false; quatre=false; cinq=false; six=false; sept=false; huit=false; neuf=false; QPalette palette0; QBrush brush0(QColor(255, 255, 255, 255)); brush0.setStyle(Qt::SolidPattern); palette0.setBrush(QPalette::Active, QPalette::Base, brush0); palette0.setBrush(QPalette::Inactive, QPalette::Base, brush0); for(int l=0;l<9;l++) { mat1[l][i].setPalette(palette0); } for(int j=0;j<9;j++) { QString str = mat1[j][i].toPlainText (); if(str.toInt(&ok, 10)==1 ) { if(un==true) { //mat1[i][j].clear(); QPalette palette; QBrush brush(QColor(255, 0, 0, 255)); brush.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Active, QPalette::Base, brush); palette.setBrush(QPalette::Inactive, QPalette::Base, brush); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette); } } un=true; } if(str.toInt(&ok, 10)==2 ) { if(deux==true) { //mat1[i][j].clear(); QPalette palette2; QBrush brush2(QColor(255, 0, 0, 255)); brush2.setStyle(Qt::SolidPattern); palette2.setBrush(QPalette::Active, QPalette::Base, brush2); palette2.setBrush(QPalette::Inactive, QPalette::Base, brush2); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette2); } } deux=true; } if(str.toInt(&ok, 10)==3 ) { if(trois==true) { //mat1[i][j].clear(); QPalette palette3; QBrush brush3(QColor(255, 0, 0, 255)); brush3.setStyle(Qt::SolidPattern); palette3.setBrush(QPalette::Active, QPalette::Base, brush3); palette3.setBrush(QPalette::Inactive, QPalette::Base, brush3); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette3); } } trois=true; } if(str.toInt(&ok, 10)==4 ) { if(quatre==true) { //mat1[i][j].clear(); QPalette palette4; QBrush brush4(QColor(255, 0, 0, 255)); brush4.setStyle(Qt::SolidPattern); palette4.setBrush(QPalette::Active, QPalette::Base, brush4); palette4.setBrush(QPalette::Inactive, QPalette::Base, brush4); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette4); } } quatre=true; } if(str.toInt(&ok, 10)==5 ) { if(cinq==true) { //mat1[i][j].clear(); QPalette palette5; QBrush brush5(QColor(255, 0, 0, 255)); brush5.setStyle(Qt::SolidPattern); palette5.setBrush(QPalette::Active, QPalette::Base, brush5); palette5.setBrush(QPalette::Inactive, QPalette::Base, brush5); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette5); } } cinq=true; } if(str.toInt(&ok, 10)==6 ) { if(six==true) { //mat1[i][j].clear(); QPalette palette6; QBrush brush6(QColor(255, 0, 0, 255)); brush6.setStyle(Qt::SolidPattern); palette6.setBrush(QPalette::Active, QPalette::Base, brush6); palette6.setBrush(QPalette::Inactive, QPalette::Base, brush6); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette6); } } six=true; } if(str.toInt(&ok, 10)==7 ) { if(sept==true) { //mat1[i][j].clear(); QPalette palette7; QBrush brush7(QColor(255, 0, 0, 255)); brush7.setStyle(Qt::SolidPattern); palette7.setBrush(QPalette::Active, QPalette::Base, brush7); palette7.setBrush(QPalette::Inactive, QPalette::Base, brush7); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette7); } } sept=true; } if(str.toInt(&ok, 10)==8 ) { if(huit==true) { //mat1[i][j].clear(); QPalette palette8; QBrush brush8(QColor(255, 0, 0, 255)); brush8.setStyle(Qt::SolidPattern); palette8.setBrush(QPalette::Active, QPalette::Base, brush8); palette8.setBrush(QPalette::Inactive, QPalette::Base, brush8); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette8); } } huit=true; } if(str.toInt(&ok, 10)==9 ) { if(neuf==true) { //mat1[i][j].clear(); QPalette palette9; QBrush brush9(QColor(255, 0, 0, 255)); brush9.setStyle(Qt::SolidPattern); palette9.setBrush(QPalette::Active, QPalette::Base, brush9); palette9.setBrush(QPalette::Inactive, QPalette::Base, brush9); for(int k=0;k<9;k++) { mat1[k][i].setPalette(palette9); } } neuf=true; } } } }