Bonjour, pour me familiariser avec Qt, j'ai décidé de créer un editeur de texte, basique, mais il fonction (QWidget).
Je veux maintenant rendre l'interface un peu plus complexe en utilisant un QMainWindow, j'y ai ajouté les menu, et je souhaite pouvoir ouvrir plusieur document, un dans chaque onglet, j'ai donc pensé à utilise un vector et voici mon code :
Et dans le Cpp
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 #ifndef WINDOW_H #define WINDOW_H #include <QtGui> #include <vector> class Window : public QMainWindow { Q_OBJECT public: Window(); private slots: void newDoc(); private: QMdiArea *zoneP; std::vector<QTextEdit*> text; std::vector<QMdiSubWindow*> zoneText; }; #endif // WINDOW_H
Quel est le roblème exact ?
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 "window.h" Window::Window() : QMainWindow() { QMenu *Fichier = menuBar()->addMenu("&Fichier"); QAction *aNewDoc = Fichier->addAction("&Nouveau"); connect(aNewDoc, SIGNAL(triggered()), this, SLOT(newDoc())); QMenu *Edition = menuBar()->addMenu("&Edition"); QMenu *Affichage = menuBar()->addMenu("&Affichage"); zoneP = new QMdiArea; this->newDoc(); setCentralWidget(zoneP); zoneP->setViewMode(QMdiArea::TabbedView); } void Window::newDoc(){ text.push_back(new QTextEdit); zoneText.push_back(zoneP->addSubWindow(text[text.size()-1])); }
Et bien quand on cree un nouveau doc, l'onglet apparait bien, mais il devient inselectionnable (grisé, inclicable).
Et je ne comprend vraiment pas pourquoi.
Merci.
Partager