Bonjour à tous,je viens solliciter votre aide voici mes problèmes, je dois faire une qdialog dans mon tableur pour rechercher une expression la qdialog s'affiche
mais quand j'appuis sur rechercher celle-ci se ferme il faudrait j'utilise un signal mais je sais pas trop comment procédé et si vous pouviez me conseiller pour la recherche aussi voici se que j'ai déjà fait.
ma class dialog:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include "dialog.h" #include "ui_dialog.h" Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog){ ui->setupUi(this); connect(ui->find, SIGNAL(next()), this, SLOT(accept())); connect(ui->close, SIGNAL(clicked()), this, SLOT(reject())); } Dialog::~Dialog() { delete ui; } bool Dialog::on_find_clicked() { } bool Dialog::on_close_clicked() { }
voici ma fonction qui appelle la fonction pour trouver l'expression elle est dans mon mainwindow :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void MainWindow::Recherche() { Dialog dialog(this); if(dialog.exec()){ QString searchString = dialog.ui->search->text(); spreadsheet->find(searchString); } }
la fonction qui recherche qui est dans ma classe spreesheet qui représente ma qtablewidget :
la fonction text pour mieux comprendre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void Spreadsheet::find(QString search) { /* for ( int col = 0; col < this->columnCount(); col++ ) { for( int row = 0; row < this->rowCount(); row++ ) { if(this->text(row,column) == search){ this->setCurrentCell(row,column); activateWindow(); } } }*/ }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 QString Spreadsheet::text(int row, int column) const { Cell *c = cell(row, column); if (c) { return c->text(); } else { return ""; } }
et pour le glisser déposer dois-je mettre ma fonction qui le gère dans mon spreedsheet.cpp ou mon .h.
Merci à vous de prendre de votre temps si vous-avez une idée même si vous n'êtes pas sur n'hésiter pas,en vous remerciant bonne soirée.
Partager