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

PyQt Python Discussion :

Récupérer l'état d'un checkbox QML avec PyQt5


Sujet :

PyQt Python

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Octobre 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 55
    Points : 78
    Points
    78
    Par défaut Récupérer l'état d'un checkbox QML avec PyQt5
    Bonjour à tous,

    Je sollicite votre aide car je ne sais pas comment faire pour récupérer l'état de mes checkbox avec PyQt5 (je suis électronicien et je programme plus sur micro que sur PC, alors allez-y doucement )
    Voici ce que j'ai fait en QML :

    Lorsque j'appuie sur VALIDER j'aimerai connaitre l'état de mes CheckBox.


    Nom : projet.PNG
Affichages : 554
Taille : 7,7 Ko Nom : capture.PNG
Affichages : 532
Taille : 5,8 Ko

    Avec le code
    Code QML : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    import QtQuick 2.9
    import QtQuick.Controls 2.2
     
    Page {
        width: 1800
        height: 1200
        objectName: "choix_CTX300"
        property alias busyIndicator: busyIndicator
        property alias textField1: textField1
        property alias textField: textField
        property alias button2: button2
        property alias button1: button1
        property alias page: page
        property alias checkBox1: checkBox1
        property alias checkBox: checkBox
        property alias button: button
     
        header: Label {
            id: label
            height: 70
            color: "#ff00ff"
            text: qsTr("CTX300")
            font.bold: true
            verticalAlignment: Text.AlignVCenter
            font.pixelSize: Qt.application.font.pixelSize * 2
            padding: 10
     
            Rectangle {
                id: rectangle
                height: 70
                color: "#ff00ff"
                anchors.left: parent.left
                anchors.leftMargin: 105
                anchors.right: parent.right
                anchors.rightMargin: 0
                anchors.top: parent.top
                anchors.topMargin: 0
     
                BusyIndicator {
                    id: busyIndicator
                    x: 1621
                    running: false
                    anchors.right: parent.right
                    anchors.rightMargin: 8
                    anchors.top: parent.top
                    anchors.topMargin: 8
                }
            }
        }
     
        Rectangle {
            id: rectangle1
            color: "#000000"
            anchors.fill: parent
     
            Rectangle {
                id: rectangle2
                x: 436
                width: 164
                color: "#ffffff"
                anchors.bottom: parent.bottom
                anchors.bottomMargin: 754
                anchors.top: parent.top
                anchors.topMargin: 0
                anchors.right: parent.right
                anchors.rightMargin: 0
     
                Button {
                    id: button
                    objectName: "choix_produit"
                    x: 9
                    y: 192
                    width: 147
                    height: 53
                    text: qsTr("VALIDER")
                    font.pointSize: 20
                    font.bold: true
                    anchors.right: parent.right
                    anchors.rightMargin: 8
                }
     
                CheckBox {
                    id: checkBox
                    objectName: "norme_CE"
                    x: 9
                    y: 8
                    width: 147
                    height: 66
                    text: qsTr("CE")
                    font.bold: true
                    font.pointSize: 22
                }
     
                CheckBox {
                    id: checkBox1
                    objectName: "norme_CSA"
                    x: 9
                    y: 93
                    width: 147
                    height: 71
                    text: qsTr("CSA")
                    property bool property0: true
                    font.bold: true
                    font.pointSize: 22
                }
            }

    Voici mon bout de code Python
    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
    25
    26
    27
    28
    29
    30
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import sys
    from PyQt5 import QtCore, QtWidgets
    from PyQt5.QtWidgets import QApplication
    from PyQt5.QtQml import QQmlApplicationEngine
    from PyQt5.QtCore import QUrl, QObject, pyqtSlot, pyqtProperty
    from PyQt5.QtWidgets import QApplication, QCheckBox 
    from PyQt5.QtQuick import QQuickView 
     
    if __name__ == "__main__":
        app = QtWidgets.QApplication(sys.argv)
        engine = QQmlApplicationEngine()
        engine.load('main.qml')
        win = engine.rootObjects()[0]
     
        norme_CE = win.findChild(QObject, "norme_CE")
        norme_CSA = win.findChild(QObject, "norme_CSA")
        choix_produit = win.findChild(QObject, "choix_produit")
     
     
        def commande_sefelec():
            print("lancer")
            print (norme_CE.isChecked())
     
     
        choix_produit.clicked.connect(commande_sefelec)
     
        win.show()
        sys.exit(app.exec_())
    Pour commencer mes essais j'ai juste fait un print("lancer") et un print (norme_CE.isChecked()) qui, je pensais, allait me renvoyer un bool mais je pensais mal

    J'ai une belle erreur du type
    Nom : erreur.PNG
Affichages : 523
Taille : 9,1 Ko

    Voilà ! Merci de votre aide.

    Patrick
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Octobre 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 55
    Points : 78
    Points
    78
    Par défaut
    Bon j'ai trouvé mon erreur !

    il fallait accéder à la propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print (norme_CE.property("checked"))
    Je mets en résolu

    Bonne soirée

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

Discussions similaires

  1. Récupérer l'état d'une checkbox Excel 2007
    Par tonave dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/05/2012, 13h04
  2. Réponses: 1
    Dernier message: 04/04/2008, 22h08
  3. [Mail] récupérer état de la checkbox
    Par aweb01 dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2006, 13h39
  4. Réponses: 7
    Dernier message: 08/03/2006, 15h15
  5. Récupérer l'état d'un processus créé avec CreatProcess
    Par Didier L dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/09/2005, 00h39

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