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 :
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
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
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]));
}
Quel est le roblème exact ?
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.