QLineF Class
La classe QLineF fournit un vecteur bidimensionnel utilisant la précision en virgule flottante. En savoir plus...
| En-tête : | #include <QLineF> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- Membres obsolètes
- QLineF fait partie des classes de dessin.
Comparaisons de QLineF
| Catégorie | Types comparables |
|---|---|
| égalité | QLineF |
| égalité | QLine. |
Types publics
| enum | IntersectionType { NoIntersection, UnboundedIntersection, BoundedIntersection } |
Fonctions publiques
| QLineF() | |
| QLineF(const QLine &line) | |
| QLineF(const QPointF &p1, const QPointF &p2) | |
| QLineF(qreal x1, qreal y1, qreal x2, qreal y2) | |
| QPointF | p1() const |
| QPointF | p2() const |
| qreal | x1() const |
| qreal | x2() const |
| qreal | y1() const |
| qreal | y2() const |
| qreal | angle() const |
| qreal | angleTo(const QLineF &line) const |
| QPointF | center() const |
| qreal | dx() const |
| qreal | dy() const |
| QLineF::IntersectionType | intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const |
| bool | isNull() const |
| qreal | length() const |
| QLineF | normalVector() const |
| QPointF | pointAt(qreal t) const |
| void | setP1(const QPointF &p1) |
| void | setP2(const QPointF &p2) |
| void | setAngle(qreal angle) |
| void | setLength(qreal length) |
| void | setLine(qreal x1, qreal y1, qreal x2, qreal y2) |
| void | setPoints(const QPointF &p1, const QPointF &p2) |
| QLine | toLine() const |
| void | translate(const QPointF &offset) |
| void | translate(qreal dx, qreal dy) |
| QLineF | translated(const QPointF &offset) const |
| QLineF | translated(qreal dx, qreal dy) const |
| QLineF | unitVector() const |
Membres publics statiques
| QLineF | fromPolar(qreal length, qreal angle) |
Éléments non membres associés
(since 6.8) bool | qFuzzyCompare(const QLineF &lhs, const QLineF &rhs) |
(since 6.8) bool | qFuzzyIsNull(const QLineF &line) |
| bool | operator!=(const QLineF &lhs, const QLineF &rhs) |
| QDataStream & | operator<<(QDataStream &stream, const QLineF &line) |
| bool | operator==(const QLineF &lhs, const QLineF &rhs) |
| QDataStream & | operator>>(QDataStream &stream, QLineF &line) |
Description détaillée
Un objet QLineF décrit une ligne (ou un segment de ligne) de longueur finie sur une surface bidimensionnelle. QLineF définit les points de départ et d’arrivée de la ligne en utilisant la précision en virgule flottante pour les coordonnées. Utilisez la fonction toLine() pour récupérer une copie de cette ligne sous forme d’entiers.
![]() | ![]() |
Les positions des points de départ et d’arrivée de la ligne peuvent être récupérées à l’aide des fonctions p1(), x1(), y1(), p2(), x2() et y2(). Les fonctions dx() et dy() renvoient respectivement les composantes horizontale et verticale de la ligne.
La longueur de la ligne peut être récupérée à l’aide de la fonction length(), et modifiée à l’aide de la fonction setLength(). De même, les fonctions angle() et setAngle() servent respectivement à récupérer et à modifier l’angle de la ligne. Utilisez la fonction isNull() pour déterminer si l’objet QLineF représente une ligne valide ou une ligne nulle.
La fonction intersects() détermine l’ IntersectionType e de cette ligne par rapport à une ligne donnée, tandis que la fonction angleTo() renvoie l’angle entre les deux lignes. De plus, la fonction unitVector() renvoie une ligne ayant le même point de départ que cette ligne, mais d’une longueur de 1 uniquement, tandis que la fonction normalVector() renvoie une ligne perpendiculaire à cette ligne, ayant le même point de départ et la même longueur.
Enfin, la droite peut être décalée d’une distance donnée à l’aide de la fonction translate(), et peut être parcourue à l’aide de la fonction pointAt().
Contraintes
QLine est limité aux valeurs minimale et maximale du type ` int `. Les opérations sur un ` QLine ` susceptibles de produire des valeurs hors de cette plage entraîneront un comportement indéfini.
Voir également QLine, QPolygonF et QRectF.
Documentation sur les types de membres
enum QLineF::IntersectionType
Décrit l'intersection entre deux droites.
![]() | ![]() |
| QLineF::UnboundedIntersection | QLineF::BoundedIntersection |
| Constante | Valeur | Description |
|---|---|---|
QLineF::NoIntersection | 0 | Indique que les droites ne se coupent pas ; c'est-à-dire qu'elles sont parallèles. |
QLineF::UnboundedIntersection | 2 | Les deux droites se coupent, mais pas dans l’intervalle défini par leurs longueurs. C’est le cas lorsque les droites ne sont pas parallèles. La fonction intersect() renvoie également cette valeur si le point d’intersection se trouve entre le point de départ et le point d’arrivée d’une seule des droites. |
QLineF::BoundedIntersection | 1 | Les deux droites se coupent à l'intérieur des points de départ et d'arrivée de chacune d'elles. |
Voir également intersects().
Documentation des fonctions membres
[constexpr] QLineF::QLineF()
Crée une droite nulle.
[constexpr] QLineF::QLineF(const QLine &line)
Construire un objet QLineF à partir de l'line, de type entier, fournie.
Voir également toLine() et QLine::toLineF().
[constexpr] QLineF::QLineF(const QPointF &p1, const QPointF &p2)
Crée un objet « ligne » représentant la ligne reliant p1 et p2.
[constexpr] QLineF::QLineF(qreal x1, qreal y1, qreal x2, qreal y2)
Crée un objet « ligne » représentant la ligne reliant (x1, y1) et (x2, y2).
[constexpr] QPointF QLineF::p1() const
Renvoie le point de départ de la ligne.
Voir également setP1(), x1(), y1() et p2().
[constexpr] QPointF QLineF::p2() const
Renvoie le point final de la ligne.
Voir également setP2(), x2(), y2() et p1().
[constexpr] qreal QLineF::x1() const
Renvoie la coordonnée x du point de départ de la ligne.
Voir aussi p1().
[constexpr] qreal QLineF::x2() const
Renvoie la coordonnée x du point d'extrémité de la ligne.
Voir aussi p2().
[constexpr] qreal QLineF::y1() const
Renvoie la coordonnée y du point de départ de la ligne.
Voir aussi p1().
[constexpr] qreal QLineF::y2() const
Renvoie la coordonnée y du point d'extrémité de la droite.
Voir aussi p2().
qreal QLineF::angle() const
Renvoie l'angle de la droite en degrés.
La valeur renvoyée est comprise entre 0,0 et 360,0 (360,0 non inclus). Les angles sont mesurés dans le sens antihoraire à partir d'un point situé sur l'axe des x à droite de l'origine (x > 0).
Voir également setAngle().
qreal QLineF::angleTo(const QLineF &line) const
Renvoie l'angle (en degrés) entre cette ligne et l'line donnée, en tenant compte de la direction des lignes. Si les lignes ne se croisent pas intersect dans leur plage, c'est le point d' des lignes prolongées qui sert d'origine (voir QLineF::UnboundedIntersection).
La valeur renvoyée correspond au nombre de degrés à ajouter à cette ligne pour qu’elle forme le même angle que l’ line e donnée, dans le sens antihoraire.
Voir également intersects().
[constexpr] QPointF QLineF::center() const
Renvoie le point central de cette ligne. Cela équivaut à 0,5 * p1() + 0,5 * p2().
[constexpr] qreal QLineF::dx() const
Renvoie la composante horizontale du vecteur de la ligne.
Voir également dy() et pointAt().
[constexpr] qreal QLineF::dy() const
Renvoie la composante verticale du vecteur de la ligne.
Voir également dx() et pointAt().
[static] QLineF QLineF::fromPolar(qreal length, qreal angle)
Renvoie une instance de ` QLineF ` avec les paramètres ` length ` et ` angle` indiqués.
Le premier point de la ligne se trouve à l'origine.
Les valeurs positives des angles correspondent à un sens antihoraire, tandis que les valeurs négatives correspondent à un sens horaire. Zéro degré correspond à la position 3 heures.
QLineF::IntersectionType QLineF::intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const
Renvoie une valeur indiquant si cette ligne coupe ou non l'line donnée.
Le point d'intersection réel est extrait dans ` intersectionPoint ` (si le pointeur est valide). Si les lignes sont parallèles, le point d'intersection n'est pas défini.
[constexpr] bool QLineF::isNull() const
Renvoie « true » si la ligne ne possède pas de points de départ et d’arrivée distincts ; sinon, renvoie « false ». Les points de départ et d’arrivée sont considérés comme distincts si la fonction qFuzzyCompare() peut les distinguer au moins pour une coordonnée.
Remarque : en raison de l’utilisation d’une comparaison floue, la fonction isNull() peut renvoyer « true » pour des lignes dont la valeur de length() n’est pas nulle.
Voir également qFuzzyCompare() et length().
qreal QLineF::length() const
Renvoie la longueur de la ligne.
Voir également setLength() et isNull().
[constexpr] QLineF QLineF::normalVector() const
Renvoie une droite perpendiculaire à cette droite, ayant le même point d'origine et la même longueur.

Voir aussi unitVector().
[constexpr] QPointF QLineF::pointAt(qreal t) const
Renvoie le point situé à la position spécifiée par le paramètre fini t. La fonction renvoie le point de départ de la ligne si t = 0, et son point d'arrivée si t = 1.
void QLineF::setP1(const QPointF &p1)
Définit le point de départ de cette ligne sur p1.
Voir également setP2() et p1().
void QLineF::setP2(const QPointF &p2)
Définit le point d'extrémité de cette ligne sur p2.
Voir également setP1() et p2().
void QLineF::setAngle(qreal angle)
Définit l'angle de la droite selon l'angle e indiquée (en degrés). Cela modifie la position du deuxième point de la droite de manière à ce que celle-ci forme l'angle spécifié.
Les valeurs positives correspondent à un sens antihoraire, tandis que les valeurs négatives correspondent à un sens horaire. Zéro degré correspond à la position 3 heures.
Voir également angle().
void QLineF::setLength(qreal length)
Définit la longueur de la ligne à la valeur finie spécifiée length. La fonction QLineF déplace le point d'extrémité - p2() - de la ligne afin de lui attribuer sa nouvelle longueur, sauf si la fonction length() était auparavant égale à zéro, auquel cas aucune mise à l'échelle n'est effectuée.
Voir également length() et unitVector().
void QLineF::setLine(qreal x1, qreal y1, qreal x2, qreal y2)
Définit cette ligne comme point de départ dans x1, y1 et comme point d'arrivée dans x2, y2.
Voir également setP1(), setP2(), p1() et p2().
void QLineF::setPoints(const QPointF &p1, const QPointF &p2)
Définit le point de départ de cette ligne sur p1 et son point d'arrivée sur p2.
Voir également setP1(), setP2(), p1() et p2().
[constexpr] QLine QLineF::toLine() const
Renvoie une copie de cette ligne dont les indices sont des entiers.
Notez que les points de début et de fin de la ligne renvoyée sont arrondis à l'entier le plus proche.
Voir également QLineF() et QLine::toLineF().
[constexpr] void QLineF::translate(const QPointF &offset)
Traduit cette ligne à l'aide de l'offset on fournie.
[constexpr] void QLineF::translate(qreal dx, qreal dy)
Déplace cette ligne de la distance spécifiée par dx et dy.
Il s'agit d'une fonction surchargée.
[constexpr] QLineF QLineF::translated(const QPointF &offset) const
Renvoie cette ligne traduite par l'offset on indiquée.
[constexpr] QLineF QLineF::translated(qreal dx, qreal dy) const
Renvoie cette ligne décalée de la distance spécifiée par dx et dy.
Il s'agit d'une fonction surchargée.
QLineF QLineF::unitVector() const
Renvoie le vecteur unitaire correspondant à cette droite, c'est-à-dire une droite partant du même point que celle-ci et de longueur 1,0, à condition que la droite ne soit pas nulle.
Voir également normalVector() et setLength().
Éléments non membres associés
[constexpr noexcept, since 6.8] bool qFuzzyCompare(const QLineF &lhs, const QLineF &rhs)
Renvoie « true » si la ligne lhs est approximativement égale à la ligne rhs; sinon, renvoie « false ».
Les lignes sont considérées comme approximativement égales si leurs points de départ et d'arrivée sont approximativement égaux.
Cette fonction a été introduite dans Qt 6.8.
[constexpr noexcept, since 6.8] bool qFuzzyIsNull(const QLineF &line)
Renvoie « true » si le point de départ de la ligne line est approximativement égal à son point d'arrivée ; sinon, renvoie « false ».
Cette fonction a été introduite dans Qt 6.8.
[constexpr noexcept] bool operator!=(const QLineF &lhs, const QLineF &rhs)
Renvoie « true » si la ligne lhs n'est pas identique à la ligne rhs.
Deux lignes sont différentes si leurs points de départ ou d’arrivée diffèrent, ou si l’ordre interne des points est différent.
QDataStream &operator<<(QDataStream &stream, const QLineF &line)
Écrit l'line on fournie dans le stream on indiquée et renvoie une référence au flux.
Voir également Sérialisation des types de données Qt.
[constexpr noexcept] bool operator==(const QLineF &lhs, const QLineF &rhs)
Renvoie « true » si la ligne lhs est identique à la ligne rhs.
Une ligne est identique à une autre ligne si ses points de départ et d'arrivée sont identiques et si l'ordre interne des points est le même.
QDataStream &operator>>(QDataStream &stream, QLineF &line)
Lit une ligne à partir du fichier stream spécifié dans le fichier line spécifié et renvoie une référence au flux.
Voir également Sérialisation des types de données Qt.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.



