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

Les élements tremblent lors du redimensionnement de la fenêtre


Sujet :

Qt Quick

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2015
    Messages : 36
    Par défaut Les élements tremblent lors du redimensionnement de la fenêtre
    Bonjour

    Je me mets au QML, mais je rencontre un problème extrêmement désagréable: tous les éléments tremblent en rythme lors du redimensionnement de la fenêtre. Plus le redimensionnement est rapide, plus l'effet est visible, mais on le distingue même lorsque celui ci est fait lentement.
    J'observe cette anomalie avec Qt 5.14.1 sous Windows, peu importe le QML, qu'il soit lancé avec qmlscene ou dans un QGuiApplication + QQmlApplicationEngine.
    Je n'arrive pas à trouver de sujets traitant de ce pb, ça m'intrigue (et ne m'encourage pas à continuer l'expérience QML).

    Voici un QML tout bête avec lequel j'observe l'anomalie, mais ça le fait pour tous:

    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
    import QtQuick 2.12
    import QtQuick.Window 2.12
     
    Window {
      id: root
      visible: true
      width: 200
      height: 200
     
      Rectangle {
        id: rect1
        x: 12; y: 12
        width: 76; height: 96
        color: "lightsteelblue"
        MouseArea {
          id: area
          width: parent.width
          height: parent.height
          onClicked: rect2.visible = !rect2.visible
        }
      }
     
      Rectangle {
        id: rect2
        x: 112; y: 12
        width: 76; height: 96
        border.color: "lightsteelblue"
        border.width: 4
        radius: 8
      }
    }

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2015
    Messages : 36
    Par défaut
    Bon et bien ajoutant ceci, je n'ai plus de pb donc je soupçonne un pb de driver ou quelque chose dans le genre (pourtant le driver de ma carte graphique est à jour, et je n'ai jamais vu ce genre de pb sur aucune autre application):

    Code Qt : Sélectionner tout - Visualiser dans une fenêtre à part
    QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Software);

    Par contre avec ce mode, un tas de fonctionnalités de QuickControls2 ne sont plus disponibles, donc pas terrible comme méthode de contournement...

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut


    Ça a l'air assez fréquent avec OpenGL comme moteur de rendu : https://bugreports.qt.io/browse/QTBUG-46074. Un correctif pour Windows/ANGLE a été intégré, mais pas encore pour Linux, apparemment.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2015
    Messages : 36
    Par défaut
    Yes je viens de voir ça, mais je constate toujours le pb en 5.14.1 sous Windows.

    J'ai deux versions de Qt 5.14.1:
    1/ les binaires pré compilés qui viennent avec l'installeur (compilés avec opengl=dynamic d'après la doc).
    2/ les binaires que j'ai généré moi même avec opengl=desktop.

    Dans les deux cas, par défaut j'observe l'anomalie.

    Dans le cas 1/ l'anomalie disparait avec QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL), et il semblerait toutes les fonctionnalités de QuickControl2 fonctionnent.
    Dans le cas 2/ je n'y arrive qu'avec QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Software), et là c'est pas top, car on perd pas mal de fonctionnalités.

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/05/2010, 15h59
  2. Lecteur mp3 qui se promène lors du redimensionnement de la fenêtre
    Par MyLoVe21 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 12/03/2010, 20h15
  3. Bug lors du redimensionnement de la fenêtre
    Par Slayor dans le forum EDT/SwingWorker
    Réponses: 0
    Dernier message: 21/09/2008, 02h09
  4. [Antialising] Comment procéder lors du redimensionnement de la fenêtre ?
    Par wizad dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 19/09/2008, 11h07
  5. Réponses: 3
    Dernier message: 18/05/2008, 18h39

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