Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- j'ai ça :
- main.cpp
- ```cpp
- #include <QApplication>
- #include <QtWidgets>
- #include "FenPrincipale.h"
- #include <iostream>
- QString readFile(const QString& filename)
- {
- QFile file{filename};
- if (!filename.isEmpty() && file.open(QFile::ReadOnly)) {
- const QByteArray array{file.readAll()};
- file.close();
- return QString::fromUtf8(array);
- }
- return QString();
- }
- int main(int argc, char *argv[])
- {
- QApplication app(argc, argv);
- FenPrincipale fenetre;
- fenetre.setWindowTitle("Straeon V1-(Argon)");
- fenetre.show();
- app.setStyleSheet(readFile(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+ "/style.qss"));
- return app.exec();
- }
- ```
- fenprincipale.cpp
- ```cpp
- #include "FenPrincipale.h"
- void FenPrincipale::NouvelleFen() {
- QTextEdit *zoneTexte = new QTextEdit;
- QMdiSubWindow *sousFenetre = m_zoneCentrale->addSubWindow(zoneTexte);
- }
- FenPrincipale::FenPrincipale()
- {
- //Création des pages de texte
- QMdiArea *zoneCentrale = new QMdiArea;
- QTextEdit *zoneTexte1 = new QTextEdit;
- QMdiSubWindow *sousFenetre1 = zoneCentrale->addSubWindow(zoneTexte1);
- //Création du menu
- QMenu *a = menuBar()->addMenu("Fichier");
- //Nouvelle action
- QAction *actionNouv = a->addAction("Nouvelle fenêtre");
- actionNouv->setShortcut(QKeySequence("Ctrl+N"));
- a->addAction(actionNouv);
- connect(actionNouv, &QAction::triggered, this, &FenPrincipale::NouvelleFen);
- //--------------------------------------------------------------------------
- QAction *actionTest = a->addAction("Nouveau test");
- actionTest->setShortcut(QKeySequence("Ctrl+T"));
- a->addAction(actionTest);
- connect(actionTest, SIGNAL(triggered()), qApp, SLOT(NouvelleFen()));
- //--------------------------------------------------------------------------
- QAction *actionLeave = a->addAction("Fermer");
- actionLeave->setShortcut(QKeySequence("Ctrl+Q"));
- a->addAction(actionLeave);
- connect(actionLeave, SIGNAL(triggered()), qApp, SLOT(quit()));
- QMenu *Nouveau = a->addMenu("Nouveau");
- Nouveau->addAction("Projet");
- Nouveau->addAction("Fichier");
- QAction *Enregistrer = a->addAction("Enregistrer");
- QMenu *Enregistrersous = a->addMenu("Enregistrer sous...");
- QMenu *Ouvrir = a->addMenu("Ouvrir...");
- QMenu *Récent = a->addMenu("Récent");
- QMenu *Partager = a->addMenu("Partager");
- //-------------------------------------------------------------------------//
- QMenu *b = menuBar()->addMenu("Éditer");
- b->addAction("Police");
- QMenu *c = menuBar()->addMenu("Affichage");
- c->addAction("Nouveau");
- QMenu *d = menuBar()->addMenu("Fenêtre");
- d->addAction("Plein écran");
- //Création de la toolbar
- QToolBar *toolBarFichier = addToolBar("Fichier");
- toolBarFichier->addAction(actionNouv);
- setUnifiedTitleAndToolBarOnMac(true);
- QFontComboBox *choixPolice = new QFontComboBox;
- toolBarFichier->addWidget(choixPolice);
- setCentralWidget(zoneCentrale);
- }
- ```
- fenprincipale.h
- ```cpp
- #ifndef HEADER_FENPRINCIPALE
- #define HEADER_FENPRINCIPALE
- #include <QtWidgets>
- class FenPrincipale : public QMainWindow
- {
- public:
- FenPrincipale();
- void NouvelleFen();
- private:
- QMdiArea* m_zoneCentrale;
- };
- #endif
- ```
- ce programme me fait ceci :http://prntscr.com/jmh5p5
- sauf que quand je clique sur nouvelle fenêtre il crash :http://prntscr.com/jmh6dl
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement