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 :

QCombox avec un QTabView


Sujet :

PyQt Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2002
    Messages : 10
    Points : 9
    Points
    9
    Par défaut QCombox avec un QTabView
    Bonjour à tous,

    J'ai un QComboBox qui me permet de choisir un numéro de compte comptable.
    Lorsque je clique sur le combobox j'ai mes données sur deux colonnes qui apparaissent (à l'aide d'un QTableView).

    Je joins une capture d'écran

    Nom : capture.png
Affichages : 140
Taille : 584,7 Ko

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            for row in zip(self.dfComptes['NumeroComptable'], self.dfComptes['Libelle']):
                sousElement = []
                sousElement.append(row[0])
                sousElement.append(row[1])
                dataTable.append(sousElement)
     
            self.tableModelComptes = MyTableModel(dataTable, self)
            self.cboxTableCompte = QTableView(self)
            self.cbCompteMasque.setView(self.cboxTableCompte)
            self.cbCompteMasque.setModel(self.tableModelComptes)
    et le code de la classe MyTableModel :

    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
     
    # création du modèle pour la combobox à plusieurs colonnes
    class MyTableModel(QAbstractTableModel):
     
        def __init__(self, datain, parent=None, *args):
            QAbstractTableModel.__init__(self, parent, *args)
            self.arraydata = datain
     
        def rowCount(self, parent):
            return len(self.arraydata)
     
        def columnCount(self, parent):
            return len(self.arraydata[0])
     
        def data(self, index, role):
            if not index.isValid():
                return QVariant()
            elif role != Qt.DisplayRole:
                return QVariant()
            return QVariant(self.arraydata[index.row()][index.column()])
    Les données proviennent d'un data frame Pandas.
    Les deux colonnes qui s'affichent correspondent au numéro comptable et au libellé du compte comptable.

    Voilà ma question :
    Puis je obtenir une table qui dépasse la largeur de mon combobox ?
    En effet, dans mon cas la largeur de mes colonnes est insuffisante.

    L'idéal serait cela (montage en image) :
    Nom : Capture d’écran 2018-09-25 à 18.36.19.png
Affichages : 125
Taille : 34,8 Ko

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Normalement ce sont des propriétés de la view.
    Tu peux essayer diverses choses:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    view = self.cbCompteMasque.view()
    view.adjustSize()
    view.setMinimumWidth(200)
    Et pour la table elle-même tu peux définir la largeur de chaque colonne avec setColumnWidth(int column, int width)

Discussions similaires

  1. requete avec OBCD et visual c++
    Par Anonymous dans le forum MFC
    Réponses: 12
    Dernier message: 18/11/2004, 16h15
  2. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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