Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Al dibujar un rectángulo, comprobar si hay otro dibujado en esas coordenadas



  • Hola. Tengo una tabla donde se definen varios rectángulos con su tamaño y sus coordenadas. Al ir dibujando los rectángulos tengo que evitar dibujarlo si se va a superponer con otro ya dibujado. Estoy bastante perdido sobre como afrontar esto, no se si tengo la posibilidad de saber si coincide con otro al ir a dibujarlo.

    Gracias.


  • Moderators

    Hola

    ¿No te vale la clase QRect ?

    Saludos



  • @jlazanza Si esos rectangulos han sido dibujados de manera dinamica yo primero creo el objeto (ejemplo: un boton) despues lo muevo con move y ahi incerto sus coordenadas.

    Para evitar que se crucen puedes usar loops teninedo en cuenta las coordenadas del rectangulo inicial.



  • Una posible solución es tener una lista de QRect o QRectF que contenga la información de los rectangulos, y asociar a cada uno un flag que por defecto sea falso, despues escoger el i-esimo rectángulo y comparar con los demas usando el método intersects y si es verdaderos setear el flag a verdadero. Al final solo debes dibujar los rectángulos que tengan el flag en falso.


Log in to reply