Conférence KDE 4, Toulouse, 2008 Qt 4 Principes fondamentaux de Qt Fonctionnalités proposées par Qt "Tout ça dans un toolkit"? David Faure.

Slides:



Advertisements
Présentations similaires
1. 2 Toolkits Il existe 4 principales boites à outils (toolkits) graphiques : –Xt / Motif –Gtk –Windows –Qt Seul certaines fonctionnent sur toutes les.
Advertisements

Plus simple à utiliser Une interface d’administration entièrement remaniée rend plus facile l'apprentissage de Drupal.
Nexeto.  Entreprise ◦ ADINFO ◦ Nexeto  Besoins ◦ Objectifs ◦ Outils/Moyens ◦ ATS ◦ Planning  Projet de stage ◦ Conception ◦ Réalisation  Bilan  Résultats.
Introduction à SVG Scalable Vector Graphic. Informations ● Plus d'informations ici (draft, tutoriaux, outils... ): –
Présentation de Qt Iris 1
SI28 Flash séance 1 Dessins et Animations. Présentation de Flash  Création d’animations pour le Web, pouvant contenir une forte interactivité.  Faible.
Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
Emacs Laurent Pierron
Créer des interfaces graphiques intuitives avec Qt et KDE.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Ninja Online PROJET TUTEURÉ N3 Clément BAERT Alexis BEAUREPAIRE Nathan DAMIE Laurent LAPLACE Valentine MAILLART Emmanuel PERRIN Tuteur : Jean CARLE DUT.
Présentation du projet JAVA Système de messagerie instantanée cryptée.
Olivier FAURAX. SVG : le format Inkscape ● Format ouvert du W3C ● Dialecte XML ● Format de dessin vectoriel.
Le projet L'éditeur Les services associés 10/07/2007 OpenAguila, la gestion d’entreprise libre pour.
CUCUMBER Behavior developpement driven tool Théo STEIN Audrey LANCE Quentin SERVEAUX 1.
VHFFS : Enlarge your hosting Sylvain Rochet Samuel Lesueur Cette présentation est sous contrat Paternité-Partage des Conditions Initiales à l'Identique.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
Présentation du programme
Master ESEEC Rédaction de documents (longs) structurés Patrice Séébold Bureau 109, Bât B.
Java et sockets TCP.
1. 2 Boite à outils Qt ● Boite à outils C++ pour le développement multi-plateforme d'application en environnement graphique (GUI) – des fonctions GUI.
Windows NT/2000/XP Enjeux et contraintes techniques
Algorithmique & Langage C IUT GEII S1
Le logo.
Framework EHop/Ecenvir
Mise en place d’un système de partage de fichiers
Environnement de développement des BD
LimeSurvey : Logiciel Open Source pour réaliser des enquêtes
Environnement du développement de BD ORACLE REPORTS 10g
E.R.P. ou Progiciels de Gestion Intégrés
Gestion de version centralisée et décentralisée
Présentation Scribe NG Serveur pédagogique.
L’ordinateur: comment ça marche ? Ou comment avoir des idées justes sur le sujet... PCI SV I - STU I Alain Mille UFR d’Informatique UCBL.
SOMMAIRE 1: ORALE 2: Les 3 systèmes de gestion de base de donnés 3:ORACLE DATA BASE 4:MY SQL 5:Oppen Office.org Base 6:Concurrence Conclusion.
La transparence réseau dans KDE
Production de documents pédagogiques et chaîne éditoriale
Status logiciel 29 avril 2010.
Les bases de données et le modèle relationnel
Centralisation de logs
Développement JAVA pour plateforme ANDROID
Outils de production de code
Outils Statistiques pour la Sémantique Décembre 2013
Comment utiliser Power Point ?
Gestion évènementielle QT5
UNITE 3: Production du jeu vidéo
Message Oriented Middleware MOM - Beghdad abdelkrim -abass youcef.
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Programmation Android Première application Android
Programmation Android GUI (widgets) et ressources
TP N°4 Développement d’ une application client / Serveur en utilisant les Sockets TCP.
Architecture BD Récif.
L’ordinateur: comment ça marche ? Ou comment avoir des idées justes sur le sujet... PCI SV I - STU I Alain Mille UFR d’Informatique UCBL.
Logiciel de présentation
Info Bases de données avancées
Créer un QR code 1. Mode opératoire
PLATE FORME DE GESTION ÉLECTRONIQUE DE DOCUMENTS Présenté par: Amine LARIBI.
Piles et files.
© Robert Godin. Tous droits réservés.
Lecture/Écriture de fichiers (I/O)
Comment utiliser Power Point ?
© Robert Godin. Tous droits réservés.
COURS ADMINISTRATION DE BASES DE DONNÉES IMPORT/EXPORT Karim LABIDI ISET Ch
2018 presentation MONITORING & REPORTING ANALYTICS
Je découvre PowerPoint
TP N°4 Développement d’ une application
Business Intelligence en ACube OLAP et Reporting avec ACubeOLAP et GRaM.
Transcription de la présentation:

Conférence KDE 4, Toulouse, 2008 Qt 4 Principes fondamentaux de Qt Fonctionnalités proposées par Qt "Tout ça dans un toolkit"? David Faure

Conférence KDE 4, Toulouse, 2008 Trolltech ●Société norvégienne ●Bureaux à Oslo (Qt), Berlin (Tools), Brisbane (Qtopia) ●Qt 4 est GPL sur toutes les plateformes ➯ développement de logiciel libre ●License commerciale pour le développement de logiciel commercial

Conférence KDE 4, Toulouse, 2008 Qt ●Multiplateforme ●C++ ●Java (Jambi) ●API revue complètement pour Qt4, plus intuitive

Conférence KDE 4, Toulouse, 2008 QObject ●Relation parent/enfant, utile pour Gestion mémoire Imbrication des widgets ●Signaux et slots ●Introspection ●Système de propriétés

Conférence KDE 4, Toulouse, 2008 Signaux et slots

Conférence KDE 4, Toulouse, 2008 QtCore ●Chaînes de caractères (QByteArray, QString) ●Accès aux fichiers (QFile, QFileInfo, QDir) ●Chronomètre, retardateur (QTimer) ●Conteneurs génériques: QList, QVector, QLinkedList, QQueue, QStack QMap, QMultiMap, QHash, QMultiHash, QSet Itérateurs STL, Java, foreach().

Conférence KDE 4, Toulouse, 2008 Copy on write QString s = "abc"; m_str = s; m_str.append('d'); ●Utilisable par valeur ●operator=() duplique uniquement un pointeur ●Comptage de référence ●Duplication des données sur écriture ●Opération réentrante

Conférence KDE 4, Toulouse, 2008 Widgets ●Simples ●Complexes

Conférence KDE 4, Toulouse, 2008 Layouts ●Dimensions en dur ➯ problème si on change de langue, de texte, de fonte... ●Layouts ➯ dimensionnement automatique

Conférence KDE 4, Toulouse, 2008 Qt Designer ●Placement graphique des widgets ●Création des layouts ●Définition des propriétés ●Connexions signal/slot ●Ordre de tabulation ●Buddies ●Génération de code C++

Conférence KDE 4, Toulouse, 2008 Séparation modèle / vue Plusieurs vues possible pour un modèle donné: QListView mode icone, mode liste QTreeView QTableView

Conférence KDE 4, Toulouse, 2008 Canevas QGraphicsView ●Scène ●Vue ●Éléments ●Zoom, rotation ●Animation ●Rendu OpenGL ●Glisser/déplacer

Conférence KDE 4, Toulouse, 2008 Dessin avec QPainter ●Permet de dessiner sur: widget, image, imprimante, générateur SVG, OpenGL ●Dégradés ●Transformations ●Transparence ●Anti-aliasing

Conférence KDE 4, Toulouse, 2008 Texte enrichi Rendu et édition de texte avec gestion de: ●polices, couleurs ●tables ●images ●hyperliens ●alignement ●listes

Conférence KDE 4, Toulouse, 2008 Communication réseau ●QHttp, QFtp: on a mieux dans KDE ☺ ●QTcpSocket, QTcpServer ●QUdpSocket

Conférence KDE 4, Toulouse, 2008 XML ●SAX callbacks ●QStreamReader/QStreamWriter readNext() ●DOM firstChildElement(), nextSiblingElement()

Conférence KDE 4, Toulouse, 2008 Multitâche ●"Facile" avec QThread, mais attention aux timers et slots class MyThread : public QThread { public: void run(); }; void MyThread::run() { QTcpSocket socket; // connect,... socket.connectToHost(hostName, portNumber); exec(); }

Conférence KDE 4, Toulouse, 2008 SQL ●MySQL, PostgreSQL, SQLite 2 et 3, Oracle etc. ●QSqlDatabase: explicite ou implicite ●QSqlQuery (SELECT, INSERT, UPDATE, CREATE TABLE, etc.) ●Modèles: -QSqlQueryModel (lecture seule) -QSqlTableModel (lecture/écriture) -QSqlRelationalTableModel (avec clef étrangère)

Conférence KDE 4, Toulouse, 2008 Tests automatisés: QTestLib ●Une classe ➙ un executable ●Tests: slots privés autodétectés ●QCOMPARE(a, b) ●QVERIFY(bool) PASS : KLocaleTest::setTime() FAIL! : KLocaleTest::readTime() Compared values are not the same Actual (locale->readTime("11:22:33", &ok)): 11:22: Expected (QTime(11,22,34)): 11:22: Loc: [/d/kde/src/4/kdelibs/kdecore/tests/klocaletest.cpp(13)]

Conférence KDE 4, Toulouse, 2008 Communication inter-processus DBUS ●Service | Interface | Object Path | Méthode ●qdbus :1.173 org.kde.kded org.kde.kwalletd ●qdbus org.kde.kded /kbuildsycoca recreate Serveur: QObject exporté directement ou avec adaptors + génération de fichier xml Client: Interface générée depuis fichier xml

Conférence KDE 4, Toulouse, 2008 Questions?