FAQ Qt
FAQ QtConsultez toutes les FAQ
Nombre d'auteurs : 26, nombre de questions : 298, dernière mise à jour : 15 juin 2021
Qt est principalement connu comme une bibliothèque d'interfaces graphiques portables très facile à utiliser. Cependant, ce cadriciel est bien plus étendu et peut vous aider à développer vos applications par-delà les interfaces graphiques.
Ici, l'équipe rédactionnelle souhaiterait remercier tous ceux qui ont contribué à cette FAQ : 0x4e84, Amnell, Alp, Aurélien Régat-Barrel, ClaudeLELOUP, dourouc05, frifri59, Gulish, haraendil, Ikipou, IrmatDen, johnlamericain, Kinji1, LeGars, LittleWhite, Mac&Cheese, Matthieu Brucher, Niak74, nouknouk, Nykoo, Shugo78, superjaja, sysedit, Troudhyl, Winjerome, yan, YoniBlond.
FAQ lues fois.
- 1. Introduction à Qt et généralités
(15)
- Qu'est-ce que Qt ?
- Quels applications et produits utilisent Qt ?
- Quelle est la licence d'utilisation de Qt 4 ?
- Où trouver la documentation de Qt ?
- Que sont les Qt Quarterly ?
- Que sont les Qt Labs ?
- Qu'est-ce que le Qt Developer Network ?
- Qui est Digia ?
- Quels sont les chemins des en-têtes à inclure lors de la compilation ?
- Comment débuter avec Qt ?
- Est-ce compliqué d'utiliser Qt 4 ?
- Quels sont les avantages de l'édition commerciale ?
- Un développeur quitte l'entreprise, peut-on transférer la licence Qt à un autre développeur ?
- Peut-on développer des applications commerciales avec PerlQt, PyQt ou tout autre wrapper ?
- 1.1. Contribuer (1)
- 2. Contenu de Qt (2)
- 3. Généralités techniques
(29)
- Que faudrait-il connaître au minimum du C++ pour bien utiliser Qt ?
- Comment optimiser avant distribution ?
- 3.1. Mémoire (3)
- 3.2. Compilation
(10)
- Comment compiler des projets utilisant Qt ?
- Comment avoir des classes utilisant Q_OBJECT sans .h ?
- Comment compiler Qt ?
- Comment effectuer une compilation croisée de Qt ?
- Quand et comment réaliser une compilation "statique"?
- Comment utiliser une bibliothèque externe dans mon projet ?
- Quelles sont les dépendances de Qt ?
- Quels sont les compilateurs utilisables avec Qt ?
- Comment puis-je savoir dans le .pro si je compile en 32 ou 64 bits ?
- Comment compiler Qt en 64 bits sur une machine 32 bits ?
- 3.3. Systèmes supportés (2)
- 3.4. Modèle objet de Qt
(7)
- 3.4.1. QObject
(7)
- Un new sans delete ?
- Erreur d'édition des liens undefined reference to 'vtable for xxx' ?
- Allouer sur le tas ou sur la pile des QObject et dérivés ?
- Héritage multiple avec QObject ?
- Peut-on utiliser des pointeurs intelligents sans danger avec des QObject ?
- Comment faire un delete sur un QObject de manière sûre ?
- Un QObject en tant que membre d'une classe ?
- 3.4.1. QObject
(7)
- 3.5. Métaobjets (5)
- 4. Modules
(182)
- 4.1. Qt Core
(78)
- 4.1.1. Signaux et slots
(8)
- Les signaux et autres slots ?
- Comment s'interfacent les signaux et les slots ?
- Comment créer ses propres signaux et slots avec transmission de valeurs ?
- Comment utiliser les autoconnexions ?
- Comment paramétrer un slot selon les objets qui lui sont connectés ?
- Quelles sont les différentes méthodes d'exécution d'un slot ?
- Comment récupérer et utiliser l'objet déclencheur d'un slot ?
- Comment récupérer et utiliser l'objet déclencheur d'un slot avec QSignalMapper ?
- 4.1.2. Événements (3)
- 4.1.3. QApplication (3)
- 4.1.4. QString
(11)
- Faut-il utiliser les pointeurs avec QString ?
- Comment transformer un QString en std::string et réciproquement ?
- Comment convertir un QString en chaîne C (char *) ?
- Comment formater du texte avec QString ?
- Comment convertir un nombre en chaîne de caractères ?
- Comment formater les nombres entiers ?
- Comment convertir un QString en un nombre ?
- Comment formater les nombres réels ?
- Comment tester si une chaîne de caractères est vide ?
- Comment QString gère l'encodage des chaînes de caractères ?
- Comment découper les mots d'une chaîne de caractères ?
- 4.1.5. Fichiers et répertoires
(24)
- 4.1.5.1. Opérations de base
(11)
- Comment effacer un fichier ?
- Comment vérifier si un fichier existe ?
- Comment copier un fichier ?
- Comment récupérer le chemin des répertoires spéciaux ?
- Comment sélectionner un nom de fichier ou répertoire à partir d'une boîte de dialogue ?
- Comment lister les fichiers d'un répertoire et de ses sous-répertoires ?
- Comment connaître le chemin du répertoire courant ?
- Comment récupérer le chemin du répertoire de l'exécutable ?
- Comment récupérer le contenu d'un QIODevice dans un QString ?
- Comment lister tous les lecteurs disponibles sous Windows ?
- Comment supprimer un répertoire et son contenu ?
- 4.1.5.2. Lecture et écriture (3)
- 4.1.5.3. Récupérer des informations
(10)
- Comment obtenir des informations de fichiers ?
- Comment obtenir les informations des fichiers d'un dossier ?
- Comment récupérer le nom de fichier ?
- Comment distinguer les fichiers des dossiers ?
- Comment vérifier les droits sur un fichier ?
- Comment récupérer l'emplacement d'un fichier ?
- Comment savoir s'il s'agit d'un bundle ? (Mac OS X)
- Comment obtenir la date de dernière modification ?
- Comment récupérer la taille d'un fichier ?
- Comment surveiller la modification d'un fichier ou d'un dossier ?
- 4.1.5.1. Opérations de base
(11)
- 4.1.6. Thread
(12)
- Comment fonctionne QThread ?
- Pourquoi ne faut-il pas faire de traitement IHM dans un thread ?
- Comment est définie l'appartenance aux threads des objets Qt ?
- Comment utiliser les threads avec Qt ?
- Comment se passe une connexion entre threads ?
- Comment manipuler un mutex ?
- Comment mettre en pause un QThread ?
- Comment utiliser le système de signaux et de slots avec des threads ?
- Comment équilibrer le temps CPU ?
- Comment utiliser QThread grâce au signal/slot ?
- Comment appeler des fonctions de QObject appartenant à un autre thread ?
- Comment définir l'affinité des threads sous Linux ?
- 4.1.7. Temps (6)
- 4.1.8. Ressources (1)
- 4.1.9. QSettings (2)
- 4.1.10. QProcess (2)
- 4.1.11. Internationalisation (1)
- 4.1.12. Divers (5)
- 4.1.1. Signaux et slots
(8)
- 4.2. Qt GUI et Qt Widgets
(60)
- 4.2.1. Généralités
(35)
- 4.2.1.1. Assistants
(7)
- Quelles sont les techniques pour créer un assistant ?
- Comment créer un assistant ?
- Comment créer une page d'un assistant ?
- Comment traduire un assistant ?
- Comment choisir le style d'un assistant ?
- Comment personnaliser un assistant ?
- Comment modifier un bouton ou insérer un bouton personnalisé dans un assistant ?
- 4.2.1.2. Style
(7)
- Fenêtre et transparence ?
- Comment changer de style de fenêtre ?
- Comment connaître les styles disponibles ?
- Comment définir l'image de fond d'un widget ?
- Comment utiliser les feuilles de style ?
- Comment changer le design d'une classe sans hériter toutes les sous-classes QStyle ?
- Comment simuler l'utilisation de classes CSS pour des widgets Qt ?
- 4.2.1.3. Images/icônes (6)
- 4.2.1.4. Glisser/déposer (1)
- 4.2.1.5. Interaction avec l'environnement (3)
- 4.2.1.6. Autres
(11)
- Comment créer une QDialog sans bouton dans la barre de titre ?
- Pourquoi le texte n'est-il pas anti aliasé ?
- Comment activer la multisélection dans un QCalendarWidget ?
- Comment intégrer un fichier ui de Qt Designer dans un projet
- Comment avoir une barre à outils sur la droite de l'aire du dock supérieur ?
- Comment puis-je ajouter une deuxième boite à outils sur une ligne différente ?
- Comment puis-je redimensionner un QDockWidget depuis le code ?
- Comment enlever les icônes des barres de titres fenêtres MDI-enfant ?
- Comment puis-je dessiner un menu sur la droite de la barre de menus ?
- Comment faire pour qu'un texte long soit élidé ?
- Comment Qt sélectionne-t-il une police pour l'application ?
- 4.2.1.1. Assistants
(7)
- 4.2.2. Systèmes d'affichage
(25)
- 4.2.2.1. QWidget et layouts
(9)
- Comment ajouter un lien vers une page HTML ?
- Comment créer un écran de démarrage ?
- Comment valider des entrées de l'utilisateur dans une zone d'édition ?
- Comment manipuler du texte sélectionné avec QTextCursor ?
- Comment obtenir et modifier la position de la souris à l'écran ?
- Comment récupérer l'identifiant système d'une fenêtre ou d'un widget ?
- Comment afficher un widget dans une zone MDI ?
- Comment créer des onglets ?
- Comment réaliser une fenêtre avec une barre de progression ?
- 4.2.2.2. Système de peinture et impression (5)
- 4.2.2.3. Gestion des fenêtres (2)
- 4.2.2.4. Item View (7)
- 4.2.2.5. Graphics View (2)
- 4.2.2.1. QWidget et layouts
(9)
- 4.2.1. Généralités
(35)
- 4.3. Qt XML (4)
- 4.4. Qt Network
(16)
- Comment retrouver l'IP d'un domaine et vice versa ?
- 4.4.1. Gestionnaire d'accès
(8)
- Comment fonctionne le système de gestionnaire d'accès ?
- Comment envoyer un fichier par le protocole HTTP ?
- Comment utiliser un proxy ?
- Comment définir un proxy par défaut ?
- Comment récupérer l'avancement du téléchargement ?
- Comment récupérer la source d'une page Internet ?
- Comment mettre en place un cache ?
- Comment arrêter un téléchargement ?
- 4.4.2. Sockets (2)
- 4.4.3. QHttp
(5)
- Comment télécharger une page Web avec QHttp ?
- Comment exécuter une requête simple sur un serveur avec la méthode GET ?
- Comment exécuter une requête avec envoi d'information sur un serveur avec la méthode GET ?
- Comment exécuter une requête avec envoi d'informations sur un serveur avec la méthode POST ?
- Comment récupérer un cookie avec QHttp ?
- 4.5. Phonon
(11)
- 4.5.1. Phonon Généralités
(9)
- Qu'est-ce que Phonon ?
- Où récupérer Phonon ?
- Comment compiler Phonon pour Windows ?
- Comment intégrer Phonon dans un projet ?
- Comment résoudre le message : phonon backend plugin could not be loaded ?
- Comment fonctionne le framework Phonon ?
- Pourquoi la démo mediaplayer se met-elle en pause avant la fin sur les plateformes embarquées ?
- Comment créer des miniatures pour les vidéos ?
- Quelles sont les DLL à joindre avec un programme utilisant Phonon ?
- 4.5.2. Back-ends (2)
- 4.5.1. Phonon Généralités
(9)
- 4.6. QtWebKit (3)
- 4.7. QtSql (1)
- 4.8. QtTest (1)
- 4.9. Qt Quick 1
(8)
- Comment définir une propriété par défaut depuis le C++ ?
- Qu'est-ce qu'une default property ?
- Comment créer une liste d'éléments ?
- Comment définir plusieurs polices à un élément textuel ?
- Comment mettre en place un cache ?
- Comment recevoir des événements du bouton de volume sous Symbian ?
- Comment retarder une animation ?
- Comment être notifié quand une propriété est modifiée ?
- 4.1. Qt Core
(78)
- 5. Outils et environnements de développement
(9)
- 5.1. qmake (4)
- 5.2. Environnements de développement
(5)
- 5.2.1. Visual Studio (4)
- 5.2.2. Netbeans (1)
- 6. Extensions (QLibrary)
(6)
- Qu'est-ce qu'une extension ?
- Qu'est-ce que la buildkey ?
- Comment charger et utiliser dynamiquement une .dll, .so avec Qt ?
- Où ranger les extensions de Qt ?
- Je n'arrive pas à afficher certains types d'images. Quel peut-être le problème ?
- Comment créer un plug-in tiers supportant la gestion des événements avec Qt ?
- 7. Intégration avec d'autres bibliothèques
(4)
- 7.1. Généralistes (4)
- 8. Bibliothèques complémentaires
(51)
- Comment gérer le port série ?
- 8.1. Qwt 5
(16)
- Qu'est-ce que Qwt ?
- Quels types de composants puis-je créer avec Qwt ?
- Est-il difficile d'utiliser Qwt ?
- Comment installer Qwt ?
- Comment insérer un composant Qwt dans mon application Qt ?
- Comment créer un repère dans mon interface ?
- Comment changer la couleur de fond de mon repère ?
- Comment ajouter une courbe sur mon repère ?
- Comment changer la couleur de ma courbe ?
- Comment ajouter une grille à mon repère ?
- Comment ajouter des grilles seulement horizontales/verticales ?
- Comment spécifier les valeurs de mes axes ?
- Comment ajouter un outil de zoom sur mon repère ?
- Comment intégrer Qwt aux outils de Qt ?
- Comment intégrer Qwt aux outils de Qt ?
- Pourquoi le placement de la macro Q_OBJECT n'a-t-il aucun effet ?
- 8.2. QCA (7)
- 8.3. QxOrm
(22)
- Qu'est-ce que QxOrm ?
- Quelles sont les bases de données prises en compte par QxOrm ?
- Comment compiler QxOrm ?
- Comment contacter QxOrm pour indiquer un bogue ou poser une question ?
- Pourquoi QxOrm nécessite-t-il un en-tête précompilé (precompiled header) pour être utilisé ?
- Est-il possible de diminuer les temps de compilation d'un projet ?
- Comment activer/désactiver le module QxMemLeak pour la détection automatique des fuites mémoire ?
- Quels sont les différents types de sérialisation disponibles ?
- Comment déclarer une classe définie dans un espace de nom (namespace) dans le contexte QxOrm ?
- Pourquoi QxOrm fournit-il un nouveau type de conteneur qx::QxCollection<Key, Value> ?
- Pourquoi QxOrm est dépendant de deux bibliothèques : boost et Qt ?
- Pourquoi QxOrm fournit un nouveau type de pointeur intelligent qx::dao::ptr<T> ?
- Faut-il utiliser les pointeurs intelligents ?
- Comment utiliser les déclencheurs ?
- Comment définir une clé primaire sur plusieurs colonnes (composite key) ?
- La clé primaire est de type long par défaut. Est-il possible d'utiliser une clé de type QString ou autre ?
- Comment déclarer une classe abstraite dans le contexte QxOrm ?
- Comment utiliser les déclencheurs ?
- Comment utiliser les sessions pour simplifier la gestion des transactions des bases de données ?
- Comment utiliser le mécanisme de suppression logique (soft delete) ?
- Comment gérer la notion d'héritage avec la base de données ?
- Faut-il utiliser QString ou std::string ?
- 8.4. QXmpp (5)