Advertisement
Guest User

Untitled

a guest
May 25th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.60 KB | None | 0 0
  1. j'ai ça :
  2.  
  3. main.cpp
  4. ```cpp
  5. #include <QApplication>
  6. #include <QtWidgets>
  7. #include "FenPrincipale.h"
  8. #include <iostream>
  9.  
  10.  
  11. QString readFile(const QString& filename)
  12. {
  13.    QFile file{filename};
  14.  
  15.    if (!filename.isEmpty() && file.open(QFile::ReadOnly)) {
  16.        const QByteArray array{file.readAll()};
  17.  
  18.        file.close();
  19.  
  20.        return QString::fromUtf8(array);
  21.    }
  22.  
  23.    return QString();
  24. }
  25.  
  26. int main(int argc, char *argv[])
  27. {
  28.    QApplication app(argc, argv);
  29.  
  30.    FenPrincipale fenetre;
  31.    fenetre.setWindowTitle("Straeon V1-(Argon)");
  32.    fenetre.show();
  33.  
  34.  
  35.    app.setStyleSheet(readFile(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)+ "/style.qss"));
  36.  
  37.    return app.exec();
  38. }
  39. ```
  40.  
  41. fenprincipale.cpp
  42. ```cpp
  43. #include "FenPrincipale.h"
  44.  
  45.  
  46.  
  47.  
  48. void FenPrincipale::NouvelleFen() {
  49.  
  50.    QTextEdit *zoneTexte = new QTextEdit;
  51.    QMdiSubWindow *sousFenetre = m_zoneCentrale->addSubWindow(zoneTexte);
  52.  
  53. }
  54.  
  55.  
  56.  
  57.  
  58. FenPrincipale::FenPrincipale()
  59. {
  60.  
  61.  
  62.  
  63.  
  64.    //Création des pages de texte
  65.    QMdiArea *zoneCentrale = new QMdiArea;
  66.    QTextEdit *zoneTexte1 = new QTextEdit;
  67.    QMdiSubWindow *sousFenetre1 = zoneCentrale->addSubWindow(zoneTexte1);
  68.  
  69.  
  70.  
  71.    //Création du menu
  72.    QMenu *a = menuBar()->addMenu("Fichier");
  73.  
  74.  
  75.    //Nouvelle action
  76.  
  77.    QAction *actionNouv = a->addAction("Nouvelle fenêtre");
  78.    actionNouv->setShortcut(QKeySequence("Ctrl+N"));
  79.    a->addAction(actionNouv);
  80.  
  81.  
  82.    connect(actionNouv, &QAction::triggered, this, &FenPrincipale::NouvelleFen);
  83.  
  84.    //--------------------------------------------------------------------------
  85.  
  86.  
  87.    QAction *actionTest = a->addAction("Nouveau test");
  88.    actionTest->setShortcut(QKeySequence("Ctrl+T"));
  89.    a->addAction(actionTest);
  90.  
  91.  
  92.    connect(actionTest, SIGNAL(triggered()), qApp, SLOT(NouvelleFen()));
  93.  
  94.    //--------------------------------------------------------------------------
  95.  
  96.    QAction *actionLeave = a->addAction("Fermer");
  97.    actionLeave->setShortcut(QKeySequence("Ctrl+Q"));
  98.    a->addAction(actionLeave);
  99.  
  100.  
  101.    connect(actionLeave, SIGNAL(triggered()), qApp, SLOT(quit()));
  102.  
  103.  
  104.  
  105.        QMenu *Nouveau = a->addMenu("Nouveau");
  106.            Nouveau->addAction("Projet");
  107.            Nouveau->addAction("Fichier");
  108.        QAction *Enregistrer = a->addAction("Enregistrer");
  109.        QMenu *Enregistrersous = a->addMenu("Enregistrer sous...");
  110.        QMenu *Ouvrir = a->addMenu("Ouvrir...");
  111.        QMenu *Récent = a->addMenu("Récent");
  112.        QMenu *Partager = a->addMenu("Partager");
  113.  
  114.  
  115.  
  116.    //-------------------------------------------------------------------------//
  117.  
  118.  
  119.    QMenu *b = menuBar()->addMenu("Éditer");
  120.    b->addAction("Police");
  121.  
  122.    QMenu *c = menuBar()->addMenu("Affichage");
  123.    c->addAction("Nouveau");
  124.  
  125.    QMenu *d = menuBar()->addMenu("Fenêtre");
  126.    d->addAction("Plein écran");
  127.  
  128.    //Création de la toolbar
  129.    QToolBar *toolBarFichier = addToolBar("Fichier");
  130.  
  131.    toolBarFichier->addAction(actionNouv);
  132.  
  133.    setUnifiedTitleAndToolBarOnMac(true);
  134.    QFontComboBox *choixPolice = new QFontComboBox;
  135.    toolBarFichier->addWidget(choixPolice);
  136.    setCentralWidget(zoneCentrale);
  137.  
  138. }
  139.  
  140.  
  141.  
  142.  
  143. ```
  144.  
  145. fenprincipale.h
  146. ```cpp
  147. #ifndef HEADER_FENPRINCIPALE
  148. #define HEADER_FENPRINCIPALE
  149.  
  150. #include <QtWidgets>
  151.  
  152. class FenPrincipale : public QMainWindow
  153. {
  154.    public:
  155.    FenPrincipale();
  156.    void NouvelleFen();
  157.  
  158.    private:
  159.    QMdiArea* m_zoneCentrale;
  160.  
  161. };
  162.  
  163. #endif
  164. ```
  165.  
  166. ce programme me fait ceci :http://prntscr.com/jmh5p5
  167.  
  168. 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