Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. childAt provoque une erreur fatale
Forum Updated to NodeBB v4.3 + New Features

childAt provoque une erreur fatale

Scheduled Pinned Locked Moved Solved French
3 Posts 2 Posters 568 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Morgatte
    wrote on last edited by
    #1

    Bonjour,

    Il y a un problème à propos de la fonction childAt().

    J'ai un widget principal, lequel contient quelques widgets enfants.
    Quand je fais monWidget->childAt(xmouse, ymouse); je retrouve bien les widgets enfants pointés.
    Mais le programme crash quand je clique sur monWidget à un endroit où il n'y a pas de "child".
    Cette fonction ne retourne ni 0 ni -1, elle crash carrément.

    Je ne vois pas comment contourner ça.
    Aurriez-vous une idée?

    1 Reply Last reply
    0
    • AxelViennaA Offline
      AxelViennaA Offline
      AxelVienna
      wrote on last edited by
      #2

      Lorsque vous cliquez à une position où il n'y a pas d'enfant, childAs(int x, int y) retourne nullptr. Il n'y a pas de crash. Votre crash est probablement causé par la fonction que vous appelez avec le résultat de childAt.

      Par exemple, si vous voulez obtenir la hauteur de l'enfant sur lequel vous avez cliqué, vous faites

      const int height = monWidget->childAt(xmouse, ymouse)->height();
      

      height() provoquera un crash si vous ne cliquez pas sur un enfant valide.
      Le bon code est le suivant :

      int height = -1; // return -1 on invalid click
      QWidget* p = monWidget->childAt(xmouse, ymouse);
      if (p!=nullptr) height = p->height();
      

      C++ and Python walk into a bar. C++ reuses the first glass.

      1 Reply Last reply
      1
      • M Offline
        M Offline
        Morgatte
        wrote on last edited by
        #3

        C'était ça.

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved