Bonjour à tous
L'externalisation de méthodes / fonctions est un problème récurant chez moi et je l'évite toujours d'une façon ou d'une autre. Là, j'ai fait un programme de test qui fonctionne bien et plutôt que de faire des copier/coller, je veux faire l'effort d'externaliser ces méthodes. Bien sûr, je n'y arrive pas, alors je me tourne vers vous.
Le principe de ce que j'ai actuellement est le suivant :
Mon programme main appel MainWindow. Jusque là tout est normal.
MainWindow affiche des icones, selon le principe d'appel à une fonction, comme cela :
Code Qt : 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 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { ... QString code("ABCDE"); //Icone Fix QPixmap *fixIcone = new QPixmap; *fixIcone = wayPoint(code); QLabel *labelFix = new QLabel(widget); labelFix->setPixmap(*fixIcone); vLayout->addWidget(labelFix); ... QPixmap MainWindow::wayPoint(QString code) { Dessin de l'icone ... return *pixmap; }
Je souhaite donc externaliser les méthodes de dessin (ici wayPoint) tout en recevant en retour l'objet Qpixmap qui m'est nécessaire.
Pour ce faire je crée une nouvelle classe et y colle mes méthodes. Je pense qu'il faut un constructeur, mais je n'en suis pas sûr. Ces méthodes peuvent-elles être accessibles en directe ? Dans tous les cas, je ne sais plus les appeler dès qu'elles sont externaliser, et je ne sais pas comment transformer l'appel de la fonction dans mainWindow ici :
Code Qt : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QPixmap *fixIcone = new QPixmap; *fixIcone = wayPoint(code);
Mais peut-être que je fais fausse route dans mon raisonnement et qu'il faut un autre outil (biblio par ex) pour atteindre le résultat souhaité.
Sauriez-vous m'aider sur ce problème ? Merci par avance.
Partager