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

Discussion :

Réduire une fenêtre qui affiche une image dans un QLabel

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Points : 206
    Points
    206
    Par défaut Réduire une fenêtre qui affiche une image dans un QLabel
    Bonjour a tous, j'en suis à mon premier projet Qt et je rencontre un problème sur les label : Je n'arrive pas à rétrécir l'écran plus petit que la taille de base de mon image. Je vous donne mon code :


    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
    //J'ai include un peu de tout, ayant un problème avec QtGUI
    #include <QApplication>
    #include <QWidget>
    #include <QLineEdit>
    #include <QFormLayout>
    #include <QLabel>
    #include <QPicture>
    #include <QPushButton>
    #include <QResizeEvent>
     
    int main(int argc, char**argv)
    {
        QApplication app(argc, argv);
        QString chemin_fond("ciel.jpg");
        QPixmap image;
        image.load(chemin_fond);
        QLabel* img=new QLabel;
        img->setPixmap(image);
        img->setScaledContents(true);
        QWidget fenetre;
        QGridLayout *layout = new QGridLayout;
        QPushButton*bouton=new QPushButton("test");
        layout->addWidget(img, 0, 0);
        layout->addWidget(bouton, 1, 0);
        fenetre.setLayout(layout);
        fenetre.show();
     
        return app.exec();
     
    }
    De plus, comment faire pour que mon gridlayout redimensionne mon bouton et mon image équitablement lors du redimensionnement de ma fenetre ?

    Merci de me répondre.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    je te conseille de déclarer ton objet fenetre en QLabel , car cette class hérite des
    instructions de la class QWidget , donc les instructions comme setScaledContents(bool objet) et show() pourront être aussi utlisés .


    Voici quelques liens utiles :

    QLabel ,QWidget .QPixmap
    ,QString .QPainter.

    .....
    Dernière modification par johnlamericain ; 02/09/2010 à 00h16.

  3. #3
    Membre actif

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Points : 206
    Points
    206
    Par défaut
    Merci de ta réponse, mais l'objet fenêtre devra contenir (dans le future) de nombreux autres Widgets.
    Après quelques test je me suis rendu compte que mon problème est du au fait que setscaledcontent ne permet pas de réduire l'image plus petit que sa taille de base. Si quelqu'un a une solution à me proposer... Il me semble donc que ta solution ne marcherait pas (je vais essayer quand même).

  4. #4
    Invité
    Invité(e)
    Par défaut
    .....

    Heu.. tu voulais dire réduire plus que le minimun la taille de ta fenêtre ?!...
    Dans ce cas là , je m'excuse , je ne peux pas t'aider .....
    ...
    petite précision ... pour le chargement de l'image en QPixmap il faut préciser le format :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ....
    QPixmap objetimage ;
    objetimage.load("image.jpg","JPG") ;
    ...
    aurevoir...
    Dernière modification par Invité ; 06/05/2010 à 14h05. Motif: correction : image.jgp ==> image.jpg

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Points : 206
    Points
    206
    Par défaut
    Je vais essayer de m'expliquer plus clairement, n'étant pas sur de m'être exprimé correctement :
    J'ai une image par exemple de taille 800*600. Quand je l'affiche je voudrait que celle-ci prenne toute la fenetre. En essayant la méthode indiquée ci-dessus, je n'arrivais pas à donner à ma fenetre une taille plus petite que 800*600. Quelqu'un a t-il une solution à me proposer ?

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/04/2015, 07h54
  2. [AC-2007] Afficher une pièce jointe de type image dans un état
    Par lio33 dans le forum VBA Access
    Réponses: 0
    Dernier message: 15/05/2012, 16h28
  3. Réponses: 4
    Dernier message: 28/02/2010, 11h08
  4. comment afficher une cellule qui contient une formule, dans textbox
    Par cali59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/08/2009, 00h07
  5. Afficher une liste qui n'existe pas dans la base de données.
    Par Zvetch dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 25/09/2007, 13h23

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