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 Discussion :

QTableWidget et QWidget inclus, dimensions adaptées


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2004
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 291
    Par défaut QTableWidget et QWidget inclus, dimensions adaptées
    Bonjour à tous,

    j'ai une QTableWidget. Dans certaines cellules, j'ai un QTextEdit.
    Une barre de scroll vertical apparaît quand j'y écris quelque chose, très bien.
    Par contre, si je redimensionne la colonne ou/et la ligne contenant mon QTextEdit, j'aimerai que le QTextEdit adapte ses dimensions suite à ce redimensionnement. Y aurait-il une façon de faire cela facilement ?

    Ou alors, faut-il voir par :
    - QTableView::columnResized
    OU
    - QTableView::rowResized

    ?

    Merci d'avance pour vos suggestions/aides.

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2004
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 291
    Par défaut
    Bonjour,

    je mets la solution même si j'ai l'impression que cela n'intéresse personne.

    Il faut utiliser les possibilités de QHeaderView du QTableWidget.
    Pour obtenir celui des lignes, il faut exploiter la méthode verticalHeader.
    Un SIGNAL sectionResized avec comme paramètres :
    - le numéro de la ligne redimensionné
    - l'ancienne hauteur de la ligne
    - l'ancienne largeur de la ligne

    permet de modifier ensuite la hauteur du QTextEdit se situant dans cette ligne du tableau.

    A bientôt.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 16
    Par défaut Je n'y arrive pas ...
    Citation Envoyé par gui80 Voir le message
    Bonjour,

    je mets la solution même si j'ai l'impression que cela n'intéresse personne.

    Il faut utiliser les possibilités de QHeaderView du QTableWidget.
    Pour obtenir celui des lignes, il faut exploiter la méthode verticalHeader.
    Un SIGNAL sectionResized avec comme paramètres :
    - le numéro de la ligne redimensionné
    - l'ancienne hauteur de la ligne
    - l'ancienne largeur de la ligne

    permet de modifier ensuite la hauteur du QTextEdit se situant dans cette ligne du tableau.

    A bientôt.
    Mais si ça m'interesse beaucoup, c'est meme le seul post sur "columnResized";
    J'ai essaye (ci dessous); le connect se fait bien, mais le slot n'est jamais active... Je dois rater qqchose dans ces notions de signal
    As tu / avez vous un exemple ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Creation d'un QTableWidget adapte
    ProfileTab::ProfileTab(ProfileDlg* parent, QString tabName) : QTableWidget(parent)
    {
        setMouseTracking(true); // indispensable pour chopper mouseMove dans les cells
        connect(horizontalHeader(), SIGNAL(sectionResized(int,int,int)), this, SLOT(columnResized(int,int,int)));
     
    }
    void ProfileTab::columnResized(int column, int oldWidth, int newWidth)
        {
            logger(QString("resized col %3 from %1 to %2").arg(column).arg(oldWidth).arg(newWidth));
    // ne vient jamais ici qd l utilisateur resize les headers
        }

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2004
    Messages
    291
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 291
    Par défaut
    Bonjour,

    j'ai le même code que toi, hormis que je fais cela sur les lignes d'un QTableWidget.

    Donc, si tu redimensionnes à la souris une entête de colonne de ton QTabWidget, il ne se passe rien ?

    Après, je ne vois pas pourquoi, moi pour les lignes, çà fonctionne et pas toi, mais au cas où, essaie sur les lignes pour voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    connect(
       taTableWidget->verticalHeader(),
       SIGNAL(sectionResized(int,int,int)),
       this,
       SLOT(SlotRedimensionnementWidgetsLigne(int,int,int))
    );

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

Discussions similaires

  1. Adaptation du site au dimension du navigateur
    Par Shilong dans le forum Débuter
    Réponses: 5
    Dernier message: 26/04/2011, 16h07
  2. [movie] Adaptation de la dimension d'une vidéo dans un axe
    Par Mikel44 dans le forum Interfaces Graphiques
    Réponses: 8
    Dernier message: 20/01/2011, 15h51
  3. Adapter le PDF aux dimensions de la feuille
    Par pierop dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/12/2010, 09h40
  4. Réponses: 2
    Dernier message: 22/12/2009, 22h21
  5. Réponses: 6
    Dernier message: 24/04/2009, 11h49

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