Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QLineF

La classe QLineF propose un vecteur à deux dimensions utilisant une précision décimale. Plus d'informations...

#include <QLineF>
  

Description détaillée

La classe QLineF propose un vecteur à deux dimensions utilisant une précision décimale.

Une QLineF décrit une ligne de longueur finie (un segment de droite) sur une surface à deux dimensions. QLineF définit les points de départ et d'arrivée de la ligne en utilisant une précision décimale pour les coordonnées des points. Utilisez la fonction toLine() pour récupérer une copie de la ligne en nombre entier.

image image

Les positions des points de départ et d'arrivée de la ligne peuvent être retrouvées avec les fonctions p1(), x1(), y1(), p2(), x2() et y2(). Les fonctions dx() et dy() retournent les composantes horizontales et verticales de la ligne, respectivement.

La longueur de la ligne peut être retrouvée en utilisant la fonction length() et modifiée en utilisant la fonction setLength(). De façon similaire, angle() et setAngle() sont respectivement utilisées pour récupérer et modifier l'angle de la ligne. Utilisez isNull() pour déterminer si QLineF représente une ligne valide ou nulle.

La fonction intersect() détermine le type IntersectType pour cette ligne et une ligne donnée, tandis que la fonction angle() retourne l'angle entre les lignes. De plus, la fonction unitVector() retourne une ligne qui a le même point de départ que cette ligne mais avec une longueur de 1, tandis que la fonction normalVector() retourne une ligne qui est perpendiculaire à cette ligne avec le même point de départ et la même longueur.

Finalement, la ligne peut être translatée en utilisant la fonction translate() et peut être parcourue en utilisant la fonction pointAt().

Voir aussi QLine, QPolygonF et QRectF.

Types

enum QLineF::IntersectType

Décrit l'intersection entre deux lignes.

image image
QLineF::UnboundedIntersection QLineF::BoundedIntersection
Constante Valeur Description
QLineF::NoIntersection 0 Indique que les lignes ne se croisent pas, c'est-à-dire qu'elles sont parallèles.
QLineF::UnboundedIntersection 2 Les deux lignes se croisent mais pas dans la plage définie par leur longueur. Dans ce cas, les lignes ne sont pas parallèles.

intersect() retournera également cette valeur si le point d'intersection est le point de départ ou d'arrivée de seulement une des lignes.

Constante Valeur Description
QLineF::BoundedIntersection 1 Les deux lignes se croisent entre leurs point de départ et d'arrivée respectifs.

Voir aussi intersect().

Fonctions membres

QLineF::QLineF ()

Construit une ligne nulle.

QLineF::QLineF ( const QPointF & p1, const QPointF & p2 )

Construit un objet ligne qui représente la ligne entre les points p1 et p2.

QLineF::QLineF ( qreal x1, qreal y1, qreal x2, qreal y2 )

Construit un objet ligne qui représente la ligne entre les points de coordonnées (x1, y1) et (x2, y2).

QLineF::QLineF ( const QLine & line )

Construit un objet QLineF à partir d'une ligne en précision entière line donnée.

Voir aussi toLine().

QPointF QLineF::p1 () const

Retourne le point de départ de la ligne.

Voir aussi setP1(), x1(), y1() et p2().

QPointF QLineF::p2 () const

Retourne le point d'arrivée de la ligne.

Voir aussi setP2(), x2(), y2() et p1().

qreal QLineF::x1 () const

Retourne la coordonnée x du point de départ de la ligne.

Voir aussi p1().

qreal QLineF::x2 () const

Retourne la coordonnée x du point d'arrivée de la ligne.

Voir aussi p2().

qreal QLineF::y1 () const

Retourne la coordonnée y du point de départ de la ligne.

Voir aussi p1().

qreal QLineF::y2 () const

Retourne la coordonnée y du point d'arrivée de la ligne.

Voir aussi p2().

qreal QLineF::angle () const

Retourne l'angle de la ligne en degrés.

Les valeurs positives pour les angles signifient le sens anti-horaire tandis que les valeurs négatives signifient le sens horaire. Zéro degré est à la position 3 heures.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi setAngle().

qreal QLineF::angleTo ( const QLineF & line ) const

Retourne l'angle (en degrés) de cette ligne à la ligne donnée, prenant en compte la direction des lignes. Si les lignes ne se croisent pas dans cette plage, c'est le point d'intersection des lignes étendues qui sert d'origine (voir QLineF::UnboundedIntersection).

La valeur retournée représente le nombre de degrés que vous devez ajouter à cette ligne pour qu'elle ait le même angle que la ligne donnée, en allant dans le sens anti-horaire.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi intersect().

qreal QLineF::dx () const

Retourne la composante horizontale (x) du vecteur de la ligne.

Voir aussi dy() et pointAt().

qreal QLineF::dy () const

Retourne la composante verticale (y) du vecteur de la ligne.

Voir aussi dx() et pointAt().

QLineF QLineF::fromPolar ( qreal length, qreal angle ) [static]

Retourne une QLineF avec la longueur length et l'angle angle donnés.

Le premier point de cette ligne sera à l'origine.

Les valeurs positives pour les angles signifient le sens anti-horaire tandis que les valeurs négatives signifient le sens horaire. Zéro degré est à la position 3 heures.

Cette fonction a été introduite dans Qt 4.4.

IntersectType QLineF::intersect ( const QLineF & line, QPointF * intersectionPoint ) const

Retourne une valeur indiquant si oui ou non, cette ligne croise la ligne line donnée.

Le point d'intersection actuel est placé dans intersectionPoint (si le pointeur est valide). Si les lignes sont parallèles, le point d'intersection est indéfini.

bool QLineF::isNull () const

Retourne true si la ligne n'est pas définie avec un point de départ et d'arrivée valide ; sinon retourne false.

qreal QLineF::length () const

Retourne la longueur de la ligne.

Voir aussi setLength().

QLineF QLineF::normalVector () const

Retourne une ligne qui est perpendiculaire à cette ligne avec le même point de départ et la même longueur.

image

Voir aussi unitVector().

QPointF QLineF::pointAt ( qreal t ) const

Retourne le point à la position paramétrée indiquée par t. La fonction retourne le point de départ de la ligne si t = 0 et le point d'arrivée si t = 1.

Voir aussi dx() et dy().

void QLineF::setP1 ( const QPointF & p1 )

Définit le point de départ de cette ligne comme étant p1.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi setP2() et [[#p1().

void QLineF::setP2 ( const QPointF & p2 )

Définit le point d'arrivée de cette ligne comme étant p2.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi setP1() et p2().

void QLineF::setAngle ( qreal angle )

Définit l'angle de la ligne avec l'angle angle donné (en degrés). La position du second point sera changée pour que la ligne obtienne l'angle voulu.

Les valeurs positives pour les angles signifient le sens anti-horaire tandis que les valeurs négatives signifient le sens horaire. Zéro degré est à la position 3 heures.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi angle().

void QLineF::setLength ( qreal length )

Définit la longueur de la ligne à length. QLineF déplacera le point d'arrivée (p2()) pour donner à la ligne sa nouvelle longueur.

Si la ligne est une ligne nulle, la longueur restera nulle quelle que soit la longueur spécifiée.

Voir aussi length() et isNull().

void QLineF::setLine ( qreal x1, qreal y1, qreal x2, qreal y2 )

Définit cette ligne avec, comme départ, le point de coordonnéess (x1 ; y1) et, comme arrivée, le point de coordonnéess (x2 ; y2).

Cette fonction a été introduite dans Qt 4.4.

Voir aussi setP1(), setP2(), p1() et p2().

void QLineF::setPoints ( const QPointF & p1, const QPointF & p2 )

Défini le point de départ de cette ligne à p1 et le point d'arrivé à p2.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi setP1(), setP2(), p1() et p2().

QLine QLineF::toLine () const

Retourne une copie de la ligne en nombre entier.

Notez que la ligne entière retournée voit les coordonnées de ses points de départ et d'arrivée arrondies à l'entier le plus proche.

Voir aussi QLineF().

void QLineF::translate ( const QPointF & offset )

Translate cette ligne avec le décalage offset donné.

void QLineF::translate ( qreal dx, qreal dy )

Il s'agit d'une fonction surchargée.

Translate cette ligne avec la distance spécifiée par dx et dy.

QLineF QLineF::translated ( const QPointF & offset ) const

Retourne la ligne translatée par le décalage offset donné.

Cette fonction a été introduite dans Qt 4.4.

QLineF QLineF::translated ( qreal dx, qreal dy ) const

Il s'agit d'une fonction surchargée.

Retourne la ligne translatée par la distance spécifiée par dx et dy.

Cette fonction a été introduite dans Qt 4.4.

QLineF QLineF::unitVector () const

Retourne le vecteur unitaire pour cette ligne, c'est-à-dire une ligne commençant au même point de départ que cette ligne mais avec une longueur de 1.0.

Voir aussi normalVector().

bool QLineF::operator!= ( const QLineF & line ) const

Retourne true si la ligne line donnée n'est pas la même que cette ligne.

Une ligne est différente d'une autre si, soit son point de départ, soit son point d'arrivée est différent ou si l'ordre interne des points est différent.

bool QLineF::operator== ( const QLineF & line ) const

Retourne true si la ligne line donnée est la même que cette ligne.

Une ligne est identique à une autre si les points de départ et d'arrivée sont identiques et si l'ordre interne des points est le même.

En relation mais non membres de la classe

QDataStream & operator<< ( QDataStream & stream, const QLineF & line )

Écrit la ligne line donnée dans le flux stream donné et retourne une référence sur le flux.

Voir aussi le format des opérateurs QDataStream.

QDataStream & operator>> ( QDataStream & stream, QLineF & line )

Lit une ligne à partir du flux stream donné, la place dans la ligne line donnée et retourne une référence sur le flux.

Voir aussi le format des opérateurs QDataStream.

Remerciements

Merci à Abdelhafid Hafidi pour la traduction, à Jonathan Courtois pour la traduction et la relecture ainsi qu'à Thibaut Cuvelier et Maxime Gault pour la relecture !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. «Le projet de loi des droits du développeur» : quelles conditions doivent remplir les entreprises pour que le développeur puisse réussir ? 69
  2. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 27
  3. Une nouvelle ère d'IHM 3D pour les automobiles, un concept proposé par Digia et implémenté avec Qt 3
  4. Qt Creator 2.5 est sorti en beta, l'EDI supporte maintenant plus de fonctionnalités de C++11 2
  5. Vingt sociétés montrent leurs décodeurs basés sur Qt au IPTV World Forum, en en exploitant diverses facettes (déclaratif, Web, widgets) 0
  6. PySide devient un add-on Qt et rejoint le Qt Project et le modèle d'open gouvernance 1
  7. Thread travailleur avec Qt en utilisant les signaux et les slots, un article de Christophe Dumez traduit par Thibaut Cuvelier 1
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 101
  2. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 51
  3. «Le projet de loi des droits du développeur» : quelles conditions doivent remplir les entreprises pour que le développeur puisse réussir ? 69
  4. Les développeurs détestent-ils les antivirus ? Un programmeur manifeste sa haine envers ces solutions de sécurité 27
  5. Qt Commercial : Digia organise un webinar gratuit le 27 mars sur la conception d'interfaces utilisateur et d'applications avec le framework 0
  6. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 11
Page suivante
  1. Linus Torvalds : le "C++ est un langage horrible", en justifiant le choix du C pour le système de gestion de version Git 100
  2. Comment prendre en compte l'utilisateur dans vos applications ? Pour un développeur, « 90 % des utilisateurs sont des idiots » 229
  3. Quel est LE livre que tout développeur doit lire absolument ? Celui qui vous a le plus marqué et inspiré 96
  4. Apple cède et s'engage à payer des droits à Nokia, le conflit des brevets entre les deux firmes s'achève 158
  5. Nokia porte à nouveau plainte contre Apple pour violation de sept nouveaux brevets 158
  6. Quel est le code dont vous êtes le plus fier ? Pourquoi l'avez-vous écrit ? Et pourquoi vous a-t-il donné autant de satisfaction ? 83
  7. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 101
Page suivante

Le Qt Quarterly au hasard

Logo

La reconnaissance des gestes de souris

Qt Quarterly est la revue trimestrielle proposée par Nokia et à destination des développeurs Qt. Ces articles d'une grande qualité technique sont rédigés par des experts Qt. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.6
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web