IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Quick Discussion :

Intégrer un QMainWindow dans un élément QML


Sujet :

Qt Quick

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 157
    Par défaut Intégrer un QMainWindow dans un élément QML
    Bonjour,

    Je développe une application sous QT5 (5.12). Je développe la partie graphique de mon application sous QML. j'ai également un package graphique précédemment développé sous QT. Ce package est une instance d'une classe de type QMainWindow (Hérite de la classe QMainWindow) nommé MainWindow

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MainWindow mainWindow = new MainWindow()
    Je souhaiterai insérer cet d'objet QMainWindow dans un élément de mon code QML (L'élément Rectangle décrit ci-dessous)

    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
     
                GridLayout {
                    id: gridLayout1
                    columnSpacing: 1
                    rowSpacing: 1
                    anchors.fill: parent
                    columns: 5
     
                    Rectangle {
                        id: mainPanel
                        Layout.row: 1
                        Layout.column: 1
                        Layout.columnSpan: 4
                        width: 200
                        height: 200
                        color: "#00000000"
                        Layout.fillHeight: true
                        Layout.fillWidth: true
                        border.width: 1
                    }
    Je voulais savoir si vous connaissiez une méthode pour réaliser cette opération ou un tutoriel à suivre sur ce sujet.

    Merci

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 752
    Par défaut


    S'il est imaginable de redévelopper tout ce code, tu peux utiliser ApplicationWindow (https://doc.qt.io/qt-5/qml-qtquick-c...ionwindow.html). Sinon, tu peux regarder le projet Declarative Widgets (https://www.kdab.com/declarative-widgets/, https://github.com/KDAB/DeclarativeWidgets), c'est peut-être utilisable pour toi, ou alors https://doc.qt.io/qt-5/qquickpainteditem.html (ça semble demander un peu de travail : https://stackoverflow.com/a/43044318/1066843).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 157
    Par défaut
    Merci pour les documentations.
    Je vais essayer de suivre la solution avec le QQuickPaintedItem ou refaire le process plus proprement pour éviter d'inclure un Widget dans un QML

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 157
    Par défaut
    Au vu des problématiques de performance et gestion qu'engendrent l’intégration d'un objet QMainWindow dans un élément QML j'ai changé de stratégie.

    J'essaye d’intégrer mon objet QMainWindow (opWindow) dans un Widget qui est le centralWidget du QMainWindow principal de mon application. Mon problème c'est qu'à l'exécution le sous QMainWindow ne s'affiche pas.

    Je présente dans le code suivant le constructeur de mon QMainWindow principal

    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
    23
    24
    25
    MainWindow::MainWindow()
     
    {
     
        // Create Main Window Action
        this->createAction();
     
        // Create Menu bar
        this->createMenu();
     
        // Create ToolBar
        this->createToolBar();
     
        // Create status bar
        this->createStatusBar();
     
        // Add the central  Widget
        QMainWindow* opWindow = new QMainWindow(this);
        setCentralWidget(opWindow);
     
        setWindowTitle(tr("Application"));
        this->setWindowState(Qt::WindowMaximized);
        //ui.setupUi(this);
     
    }

    J'ai essayé d’intégrer l'instance opWindow comme un QWidget classique. Est ce qu'il il y a une opération à effectuer ou d'autres paramètres à setter pour afficher cet objet dans le centralWidget?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/04/2019, 23h29
  2. Réponses: 0
    Dernier message: 28/05/2010, 19h42
  3. intégrer dll VB dans code C/C++
    Par inertia dans le forum MFC
    Réponses: 3
    Dernier message: 09/05/2004, 12h09
  4. LYCOS ET MYSQL - Intégrer des images dans une base!
    Par archeo dans le forum Installation
    Réponses: 3
    Dernier message: 06/04/2004, 13h45
  5. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo