Bonjour à tous,
Je retrouve devant un petit problème dont je ne trouve pas de solution malgré mes différentes recherches. Le but c'est de remplir un QMenu de plusieurs QAction qui contient les ouvertures récentes. Mais là, apparait mon problème quand je clique sur le fichier récent (QAction) qui se trouve dans le QMenu, le signal n'est pas transmis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private: QList<QFile *> historiqueFichier;
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 void MainWindow::displayHistoriqueFichier() { QMenu *actionOuvertureRecente = ui->menuOuvertures_r_centes; QFile *file; QAction *recentFileActs[this->historiqueFichier.count()]; actionOuvertureRecente->clear(); for (int i=0; i<this->historiqueFichier.count(); i++) { file = this->historiqueFichier[i]; recentFileActs[i] = new QAction(file->fileName(), this); recentFileActs[i]->setVisible(false); actionOuvertureRecente->addAction(recentFileActs[i]->text()); connect(recentFileActs[i], SIGNAL(triggered()), this, SIGNAL(ouvrirFichierRecent())); } }Que pensez-vous de ce problème? Sachant que quand je clique sur le fichier récent, le signal ne passe pas dans ouvrirFichierRecent().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void MainWindow::ouvrirFichierRecent() { QMessageBox::information(this, "test", "ouverture..."); QAction *action = qobject_cast<QAction *>(sender()); if (action) this->addTabFromFile(action->data().toString()); }
Merci
Partager