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 :

QCheckBox dans un QTableWidgetItem [QtGui]


Sujet :

PyQt Python

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Par défaut QCheckBox dans un QTableWidgetItem
    Bonjour,

    J'aimerai savoir si il est possible de mettre une QCheckBox dans un QTableWidgetItem puis ensuite dans un QTableWidget?
    Et surtout comment faire, car dans un item on peut mettre que du QString?

    Alaninho

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Meuuh non, qu'on peut mettre que des QString

    Salut,

    Une checkBox c'est tout simple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    def fonction_qui_ajoute_une_ligne(self, arg):
            r = self.rowCount()
            self.insertRow(r)
            ...
     
            obj = QtGui.QTableWidgetItem()
            obj.setText("Checkez moi")
            obj.setFlags(QtCore.Qt.ItemIsUserCheckable|QtCore.Qt.ItemIsEnabled)
            if arg:
               obj.setCheckState(QtCore.Qt.Checked)
            else: 
                obj.setCheckState(QtCore.Qt.Unchecked)
            self.setItem(r, col, obj)
    Dans cet exemple, tu peux mettre un argument de ta fonction qui permettra que ta checkBox soit checkée ou non au départ.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Par défaut
    je comprend pas bien ton exemple, quand je met ceci dans mon code, j'ai bien "checkez moi" écrit dans les cellules mais pas de checkbox. A moins que c'est normal?

    Désolé. Peux tu me montrer le résultat que tu obtiens par exemple.

    Alan

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par défaut
    Bonjour.

    Non ce n'est pas normal
    Chez moi, ce code fonctionne parfaitement.

    Relis ton code. Tu a dû oublier quelque chose.

    Si tu ne trouve pas. Poste le code qui te pose problème.

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    A mon avis, il faut intégrer le checkbox directement dans la case du tablewidget, sans passer par un tablewidgetitem:

    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
    31
    32
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
     
    import sys
    from PyQt4 import QtGui
     
    #############################################################################
    class Fenetre(QtGui.QWidget):
        def __init__(self, parent=None):
            super(Fenetre, self).__init__(parent)
            self.setWindowTitle(u"Code test")
     
            # créer le tableau
            self.table = QtGui.QTableWidget(self)
            self.table.setColumnCount(3)
            self.table.setRowCount(3)
     
            # remplir la case ligne=1 et colonne=1 avec un QCheckBox
            cb = QtGui.QCheckBox(u"<= à sélectionner")
            self.table.setCellWidget(1, 1, cb)
     
            # positionnement du widget dans la fenetre
            posit = QtGui.QGridLayout()
            posit.addWidget(self.table, 0, 0)
            self.setLayout(posit)
     
    #############################################################################
    if __name__ == "__main__":
        app = QtGui.QApplication(sys.argv)
        fen = Fenetre()
        fen.show()
        sys.exit(app.exec_())
    Tyrtamos

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Si si, il marche mon code.


    Une petite photo:



    Montres nous le tien, si tu veux bien, ça ira plus vite.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 299
    Par défaut
    c'est bon, ça marche!merci!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/05/2014, 08h41
  2. Réponses: 0
    Dernier message: 21/02/2014, 16h01
  3. Interception des modifications dans un QTableWidgetItem
    Par Christophe dans le forum Débuter
    Réponses: 0
    Dernier message: 02/05/2013, 21h48
  4. QCheckBox dans QTableView
    Par ccfconsulting dans le forum Débuter
    Réponses: 8
    Dernier message: 16/10/2012, 23h06
  5. QCheckBox dans QTableWidget
    Par l'unique dans le forum Débuter
    Réponses: 2
    Dernier message: 19/04/2012, 11h16

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