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

Outils Discussion :

QMainWindow, QScrollArea et QLabel


Sujet :

Outils

  1. #1
    Membre confirmé
    Avatar de Le Farfadet Spatial
    Homme Profil pro
    En cours de précision…
    Inscrit en
    avril 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En cours de précision…

    Informations forums :
    Inscription : avril 2008
    Messages : 179
    Points : 600
    Points
    600
    Par défaut QMainWindow, QScrollArea et QLabel
    Salut à tous !

    Je suis plutôt un habitué de Gtkmm, mais en l’occurrence je lance un projet utilisant Qt. Le projet est codé principalement en C++ et j’utilise CMake pour le construire.

    Une partie des traitements du code se font sur des images, j’ai donc besoin de fonctionnalités de bases d’un visualiseur d’image. Je me base donc sur l’exemple de la documentation de Qt. Toutefois, je réalise l’interface graphique à l’aide de Qt Designer pour générer des fichiers .ui, ce qui me semble être plus souple dans le développement.

    Je réalise donc une QMainWindow. Dans sa zone centrale, je place une QScrollArea et dans cette dernière, je place un QLabel (qui servira donc à afficher l’image). Las ! J’ai eu beau manipuler les différentes propriétés accessibles dans Qt Designer, à chaque fois la QScrollArea est perdue dans la zone centrale sans s’y étendre, de même que le QLabel est perdu dans la QScrollArea sans s’y étendre. Le résultat est que seule une partie de l’image apparaît et qu’aucun barre de défilement n’est présente. J’ai tenté d’utiliser des layouts, mais ça n’a rien donné.

    Bon, quelque chose m’échappe, mais je n’arrive pas à trouver quoi, même en cherchant dans la documentation.

    Pour l’instant, j’ai une version qui fonctionne comme attendu et que je vous présente en fin de ce message, mais je ne crée rien dans la zone centrale à l’aide de Qt Designer : je le fais à la main dans le code. Cela ne me semble pas la meilleure méthode. Je me demande donc qu’elles sont les propriétés que j’ai ratées qui doivent m’amener au résultat escompté.

    Pour que l’aide soit plus aisée, j’ai repris mon code, enlevé toute autre dépendance que Qt, supprimé l’essentiel des commentaires Doxygen et tout placé dans un unique répertoire. Donc, normalement la compilation est simple et il n’y a que ce qui est nécessaire.

    Fichier « CMakeLists.txt » :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    cmake_minimum_required(VERSION 2.6)
     
    project(GeoDesk CXX)
     
    # Path for the executable.
    set(EXECUTABLE_OUTPUT_PATH bin/${CMAKE_BUILD_TYPE})
    # Name of the executable.
    set(EXECUTABLE_NAME geodesk)
     
    include_directories(${PROJECT_BINARY_DIR})
     
    find_package(Qt4 REQUIRED)
     
    set(
      SOURCE_FILES
      main.cpp
      mainboard.cpp
    )
    set(
      QT_HEADER_FILES
      mainboard.hpp
    )
    QT4_WRAP_CPP(QT_HEADERS_MOC ${QT_HEADER_FILES})
     
    set (
      QT_FORM_FILES
      mainboard.ui
    )
    QT4_WRAP_UI(QT_FORM_HEADERS ${QT_FORM_FILES})
     
    include_directories(
            ${CMAKE_CURRENT_BINARY_DIR}
    )
     
    include(${QT_USE_FILE})
    add_definitions(${QT_DEFINITIONS})
     
    add_executable(
      ${EXECUTABLE_NAME}
      ${SOURCE_FILES}
      ${QT_HEADERS_MOC}
      ${QT_FORM_HEADERS}
    )
    target_link_libraries(
      ${EXECUTABLE_NAME}
      ${QT_LIBRARIES}
    )
    Fichier « mainboard.ui » :

    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0">
     <class>MainBoard</class>
     <widget class="QMainWindow" name="MainBoard">
      <property name="geometry">
       <rect>
        <x>0</x>
        <y>0</y>
        <width>800</width>
        <height>600</height>
       </rect>
      </property>
      <property name="windowTitle">
       <string>GeoDesk</string>
      </property>
      <widget class="QWidget" name="centralwidget"/>
      <widget class="QMenuBar" name="menubar">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>0</y>
         <width>800</width>
         <height>29</height>
        </rect>
       </property>
       <widget class="QMenu" name="menuFile">
        <property name="title">
         <string>&amp;File</string>
        </property>
        <addaction name="actionOpen"/>
        <addaction name="separator"/>
        <addaction name="actionQuit"/>
       </widget>
       <addaction name="menuFile"/>
      </widget>
      <widget class="QStatusBar" name="statusbar"/>
      <action name="actionOpen">
       <property name="text">
        <string>&amp;Open</string>
       </property>
       <property name="toolTip">
        <string>Open an image</string>
       </property>
       <property name="shortcut">
        <string>Ctrl+O</string>
       </property>
      </action>
      <action name="actionQuit">
       <property name="text">
        <string>&amp;Quit</string>
       </property>
       <property name="toolTip">
        <string>Quit GeoDesk</string>
       </property>
       <property name="shortcut">
        <string>Ctrl+Q</string>
       </property>
      </action>
     </widget>
     <resources/>
     <connections>
      <connection>
       <sender>actionQuit</sender>
       <signal>activated()</signal>
       <receiver>MainBoard</receiver>
       <slot>close()</slot>
       <hints>
        <hint type="sourcelabel">
         <x>-1</x>
         <y>-1</y>
        </hint>
        <hint type="destinationlabel">
         <x>399</x>
         <y>299</y>
        </hint>
       </hints>
      </connection>
     </connections>
    </ui>

    Fichier « mainboard.hpp » :

    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
    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
    #ifndef MAINBOARD_HPP
    #define MAINBOARD_HPP
     
    #include <QtGui>
    #include <QWidget>
    #include <QLabel>
    #include <QMenu>
    #include <QApplication>
    #include <QString>
     
    #include "ui_mainboard.h"
     
    /// \brief Namespace for GUI definition.
    namespace GUI {
      class MainBoard: public QMainWindow {
          Q_OBJECT
     
        public:
          /// \brief Default constructor.
          explicit MainBoard (): QMainWindow () {
            ui.setupUi(this);
     
            imageLabel = new QLabel;
            imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
            imageLabel->setScaledContents(true);
     
            scrollArea = new QScrollArea;
            scrollArea->setWidget(imageLabel);
            setCentralWidget(scrollArea);
          }
     
          /// \brief Destructor.
          virtual ~MainBoard () {
            delete imageLabel;
            delete scrollArea;
          }
     
        protected slots:
          /// \brief Get the name of the file to be opened.
          void on_actionOpen_triggered ();
     
        private:
          /// \brief Image scale factor.
          double scaleFactor;
     
          /// \brief Name of the file to be opened.
          QString fileName;
     
          /// \brief Label for image manipulation.
          QLabel* imageLabel;
     
          /// \brief Allows to scroll in the image.
          QScrollArea* scrollArea;
     
          /// \brief Get the GUI description.
          Ui::MainBoard ui;
      };
    }
     
    #endif  // #ifndef MAINBOARD_HPP
    Fichier « mainboard.cpp » :

    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
    #include <QFileDialog>
    #include <QString>
    #include <QLabel>
    #include <QPixmap>
    #include <QImage>
    #include <QMessageBox>
     
    #include "mainboard.hpp"
     
    /* -- Open an image. ------------------------------------------------------ */
    void GUI::MainBoard::on_actionOpen_triggered () {
      fileName = QFileDialog::getOpenFileName(this, tr("Open file"),
                                              QDir::currentPath());
     
      if (!fileName.isEmpty()) {
        const QImage image (fileName);
        if (image.isNull()) {
          QMessageBox::information(this, tr("GeoDesk"),
                                   tr("Cannot load %1.").arg(fileName));
          return;
        }
     
        imageLabel->setPixmap(QPixmap::fromImage(image));
        scaleFactor = 1.0;
        imageLabel->resize(imageLabel->pixmap()->size());
      }
    }
    Fichier « main.cpp » :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <QApplication>
     
    #include "mainboard.hpp"
     
    int main (int argc, char** argv) {
      /* Initialisation of Qt. */
      const QApplication app (argc, argv);
     
      /* Main board of the program. */
      GUI::MainBoard mainBoard;
      mainBoard.show();
     
      return app.exec();
    }
    Voilà, d’avance merci si vous avez une idée pour m’aider.

    À bientôt.

    Le Farfadet Spatial

  2. #2
    Membre confirmé
    Avatar de Le Farfadet Spatial
    Homme Profil pro
    En cours de précision…
    Inscrit en
    avril 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En cours de précision…

    Informations forums :
    Inscription : avril 2008
    Messages : 179
    Points : 600
    Points
    600
    Par défaut
    Salut à tous !

    Bon, je n’ai pas trop de chance avec ce sujet, peut-être ais-je mal posé ma question. Je vais essayer de la reformuler.

    Quelqu’un connaît-il les paramètres à modifier dans Qt Designer pour faire en sorte qu’une ScrollArea s’étendent entièrement dans la zone principale d’une MainWindow ? De même, comment faire, toujours dans Qt Designer, pour étendre un label sur l’intégralité d’une ScrollArea ? Doit-on utiliser des layouts pour ce faire ?

    À bientôt.

    Le Farfadet Spatial

  3. #3
    Rédacteur/Modérateur
    Avatar de arnolddumas
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Autriche

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2012
    Messages : 978
    Points : 7 765
    Points
    7 765
    Par défaut
    C'est facile à faire mais pas super évident quand on ne connait pas l'astuce. Alors tu positionnes ta QScrollArea dans ta QMainWindow, tu sélectionnes ta QMainWindow et tu clique-droit puis "mettre en page" et là tu choisis celle qui te convient. Si tu veux que la QScrollArea prenne toute la zone disponible, il faut alors choisir "Mettre en page dans une grille".

  4. #4
    Membre confirmé
    Avatar de Le Farfadet Spatial
    Homme Profil pro
    En cours de précision…
    Inscrit en
    avril 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En cours de précision…

    Informations forums :
    Inscription : avril 2008
    Messages : 179
    Points : 600
    Points
    600
    Par défaut
    Salut à tous !

    Merci Arnolddumas, c’est exactement ce dont j’avais besoin. J’ai donc pu intégralement créer mon interface dans Qt Designer. Je me disais bien que je ratais quelque chose de simple.

    Pour ceux qui se poseraient la question, il suffit de procéder de même ensuite entre la QScrollArea et le QLabel.

    Problème résolu.

    À bientôt.

    Le Farfadet Spatial

  5. #5
    Membre confirmé
    Avatar de Le Farfadet Spatial
    Homme Profil pro
    En cours de précision…
    Inscrit en
    avril 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En cours de précision…

    Informations forums :
    Inscription : avril 2008
    Messages : 179
    Points : 600
    Points
    600
    Par défaut
    Salut à tous !

    Bon, je me suis un peu enflammé. En réalité, le problème n’est pas résolu, car je n’obtiens pas le comportement souhaité.

    Tout d’abord, s’il semble bien qu’il faut mettre en page dans une grille au niveau de QMainWindow, il vaut mieux éviter d’en faire autant dans la QScrollArea, parce que sinon l’image se déforme pour correspondre à la fenêtre.

    Je donne le code auquel je suis arrivé. Le problème, c’est qu’en ouvrant une image trop grande pour la fenêtre, aucune barre de défilement n’apparaît.

    Je sens bien que je manque quelque chose de bête, mais j’ai beau chercher, je ne trouve pas quoi.

    Fichier « CMakeLists.txt » :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    cmake_minimum_required(VERSION 2.6)
     
    project(GeoDesk CXX)
     
    # Path for the executable.
    set(EXECUTABLE_OUTPUT_PATH bin/${CMAKE_BUILD_TYPE})
    # Name of the executable.
    set(EXECUTABLE_NAME geodesk)
     
    include_directories(${PROJECT_BINARY_DIR})
     
    find_package(Qt4 REQUIRED)
     
    set(
      SOURCE_FILES
      main.cpp
      mainboard.cpp
    )
    set(
      QT_HEADER_FILES
      mainboard.hpp
    )
    QT4_WRAP_CPP(QT_HEADERS_MOC ${QT_HEADER_FILES})
     
    set (
      QT_FORM_FILES
      mainboard.ui
    )
    QT4_WRAP_UI(QT_FORM_HEADERS ${QT_FORM_FILES})
     
    include_directories(
            ${CMAKE_CURRENT_BINARY_DIR}
    )
     
    include(${QT_USE_FILE})
    add_definitions(${QT_DEFINITIONS})
     
    add_executable(
      ${EXECUTABLE_NAME}
      ${SOURCE_FILES}
      ${QT_HEADERS_MOC}
      ${QT_FORM_HEADERS}
    )
    target_link_libraries(
      ${EXECUTABLE_NAME}
      ${QT_LIBRARIES}
    )
    Fichier « mainboard.ui » :

    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
    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
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    <?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0">
     <class>MainBoard</class>
     <widget class="QMainWindow" name="MainBoard">
      <property name="geometry">
       <rect>
        <x>0</x>
        <y>0</y>
        <width>800</width>
        <height>600</height>
       </rect>
      </property>
      <property name="windowTitle">
       <string>GeoDesk</string>
      </property>
      <widget class="QWidget" name="centralwidget">
       <layout class="QGridLayout" name="gridLayout">
        <item row="0" column="0">
         <widget class="QScrollArea" name="scrollArea">
          <property name="widgetResizable">
           <bool>true</bool>
          </property>
          <widget class="QWidget" name="scrollAreaWidgetContents">
           <property name="geometry">
            <rect>
             <x>0</x>
             <y>0</y>
             <width>780</width>
             <height>512</height>
            </rect>
           </property>
           <widget class="QLabel" name="imageLabel">
            <property name="geometry">
             <rect>
              <x>0</x>
              <y>0</y>
              <width>67</width>
              <height>21</height>
             </rect>
            </property>
            <property name="sizePolicy">
             <sizepolicy hsizetype="Ignored" vsizetype="Ignored">
              <horstretch>0</horstretch>
              <verstretch>0</verstretch>
             </sizepolicy>
            </property>
            <property name="text">
             <string/>
            </property>
            <property name="scaledContents">
             <bool>true</bool>
            </property>
           </widget>
          </widget>
         </widget>
        </item>
       </layout>
      </widget>
      <widget class="QMenuBar" name="menubar">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>0</y>
         <width>800</width>
         <height>29</height>
        </rect>
       </property>
       <widget class="QMenu" name="menuFile">
        <property name="title">
         <string>&amp;File</string>
        </property>
        <addaction name="actionOpen"/>
        <addaction name="separator"/>
        <addaction name="actionQuit"/>
       </widget>
       <addaction name="menuFile"/>
      </widget>
      <widget class="QStatusBar" name="statusbar"/>
      <widget class="QToolBar" name="toolBar">
       <property name="windowTitle">
        <string>toolBar</string>
       </property>
       <attribute name="toolBarArea">
        <enum>TopToolBarArea</enum>
       </attribute>
       <attribute name="toolBarBreak">
        <bool>false</bool>
       </attribute>
      </widget>
      <action name="actionOpen">
       <property name="text">
        <string>&amp;Open</string>
       </property>
       <property name="toolTip">
        <string>Open an image</string>
       </property>
       <property name="shortcut">
        <string>Ctrl+O</string>
       </property>
      </action>
      <action name="actionQuit">
       <property name="text">
        <string>&amp;Quit</string>
       </property>
       <property name="toolTip">
        <string>Quit GeoDesk</string>
       </property>
       <property name="shortcut">
        <string>Ctrl+Q</string>
       </property>
      </action>
     </widget>
     <resources/>
     <connections>
      <connection>
       <sender>actionQuit</sender>
       <signal>activated()</signal>
       <receiver>MainBoard</receiver>
       <slot>close()</slot>
       <hints>
        <hint type="sourcelabel">
         <x>-1</x>
         <y>-1</y>
        </hint>
        <hint type="destinationlabel">
         <x>399</x>
         <y>299</y>
        </hint>
       </hints>
      </connection>
     </connections>
    </ui>
    Fichier « mainboard.hpp » :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    #ifndef MAINBOARD_HPP
    #define MAINBOARD_HPP
     
    #include <QtGui>
    #include <QWidget>
    #include <QLabel>
    #include <QMenu>
    #include <QApplication>
    #include <QString>
     
    #include "ui_mainboard.h"
     
    /// \brief Namespace for GUI definition.
    namespace GUI {
      class MainBoard: public QMainWindow {
          Q_OBJECT
     
        public:
          /// \brief Default constructor.
          explicit MainBoard (): QMainWindow () {
            ui.setupUi(this);
          }
     
        protected slots:
          /// \brief Get the name of the file to be opened.
          void on_actionOpen_triggered ();
     
        private:
          /// \brief Image scale factor.
          double scaleFactor;
     
          /// \brief Name of the file to be opened.
          QString fileName;
     
          /// \brief Get the GUI description.
          Ui::MainBoard ui;
      };
    }
     
    #endif  // #ifndef MAINBOARD_HPP
    Fichier « mainboard.cpp » :

    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
    #include <QFileDialog>
    #include <QString>
    #include <QLabel>
    #include <QPixmap>
    #include <QImage>
    #include <QMessageBox>
     
    #include "mainboard.hpp"
     
    /* -- Open an image. ------------------------------------------------------ */
    void GUI::MainBoard::on_actionOpen_triggered () {
      fileName = QFileDialog::getOpenFileName(this, tr("Open file"),
                                              QDir::currentPath());
     
      if (!fileName.isEmpty()) {
        const QImage image (fileName);
        if (image.isNull()) {
          QMessageBox::information(this, tr("GeoDesk"),
                                   tr("Cannot load %1.").arg(fileName));
          return;
        }
     
        ui.imageLabel->setPixmap(QPixmap::fromImage(image));
        scaleFactor = 1.0;
        ui.imageLabel->resize(ui.imageLabel->pixmap()->size());
      }
    }
    Fichier « main.cpp » :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <QApplication>
     
    #include "mainboard.hpp"
     
    int main (int argc, char** argv) {
      /* Initialisation of Qt. */
      const QApplication app (argc, argv);
     
      /* Main board of the program. */
      GUI::MainBoard mainBoard;
      mainBoard.show();
     
      return app.exec();
    }
    Si quelqu’un a une idée, qu’il n’hésite pas.

    À bientôt.

    Le Farfadet Spatial

  6. #6
    Membre confirmé
    Avatar de Le Farfadet Spatial
    Homme Profil pro
    En cours de précision…
    Inscrit en
    avril 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En cours de précision…

    Informations forums :
    Inscription : avril 2008
    Messages : 179
    Points : 600
    Points
    600
    Par défaut
    Salut à tous !

    J’essaye de relancer le sujet : est-ce que quelqu’un sait pourquoi, avec le code que j’ai donné précédemment, les barres de défilements n’apparaissent pas lors de l’ouverture d’images trop grandes pour la fenêtre ?

    À bientôt.

    Le Farfadet Spatial

  7. #7
    Membre confirmé
    Avatar de Le Farfadet Spatial
    Homme Profil pro
    En cours de précision…
    Inscrit en
    avril 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En cours de précision…

    Informations forums :
    Inscription : avril 2008
    Messages : 179
    Points : 600
    Points
    600
    Par défaut
    Salut à tous !

    Je tente une dernière fois de relancer le sujet, parce que j’ai beau bricoler dans tout les sens et chercher sur le web, je ne trouve pas la solution.

    Est-ce que quelqu’un a déjà réussi à créer, à l’aide de Qt Designer, un QScrollArea contenant un QLabel dans lequel afficher une image, avec les barres de défilement apparaissant lorsque l’image est trop grande pour la fenêtre ? Je pense tout de même que c’est possible et je ne doute pas qu’il s’agit d’une chose bête, mais vraiment je ne trouve rien.

    En attendant, je ne mets rien dans la zone principale dans Qt Designer et je crée ensuite la QScrollArea et le QLabel, comme dans le premier code que j’ai posté, mais je ne trouve pas cela très satisfaisant.

    À bientôt.

    Le Farfadet Spatial

  8. #8
    Nouveau membre du Club
    Profil pro
    DDD
    Inscrit en
    février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : février 2003
    Messages : 55
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Je déterre ce sujet... As-tu trouvé la solution ou si quelqu'un à une réponse à ce fil ?

    Merci d'avance.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/05/2007, 16h33
  2. Problème de slot avec un QLabel
    Par Zec Merquise dans le forum Qt
    Réponses: 8
    Dernier message: 15/12/2006, 14h23
  3. QMainWindow et QDialog
    Par MaitrePylos dans le forum PyQt
    Réponses: 6
    Dernier message: 04/09/2006, 14h59
  4. [Qt4] Couleur d'un QLabel
    Par kwakanar dans le forum Qt
    Réponses: 4
    Dernier message: 25/03/2006, 15h54

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