Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wxwidgets [Le 14/02/2008, 22:16]
82.67.55.149
wxwidgets [Le 11/09/2022, 11:54] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>développement ​programmation ​BROUILLON ​tutoriel}} ​FIXME+{{tag>​programmation tutoriel}}
  
 ---- ----
 +====== wxWidgets - programmation d'​interface multiplate-formes ======
  
-====== wxWidgets ======+<note warning>​la plupart de cette page date de 2010, ces informations doivent être prises avec des pincettes</​note>​
  
-Voila un petit didacticiel qui vous permettra d'​installer la dernière version de wxWidgets (actuellement la **2.8.7**afin d'exécuter et développer ​des applications utilisant cette bibliothèque.+[[wpfr>wxWidgets]] (anciennement wxWindowsest une bibliothèque graphique libre utilisée comme boîte à outils de programmation ​d'interface utilisateur multiplate-formes. À la différence d'​autres boîtes à outils qui tentent de restituer une interface utilisateur identique sur toutes les plateformes,​ wxWidgets restitue ​des abstractions similaires, mais avec l'​apparence native de chaque environnement cible, ce qui est moins dépaysant pour les utilisateurs finauxwxWidgets est disponible entre autres pour Macintosh, GNU/Linux et Unix, Microsoft Windows, OS/2, ainsi que pour du matériel embarqué sous GNU/Linux ou Windows CE
  
-===== Installation par package (recommandé) =====+wxWidgets est diffusé sous licence wxWidgets License, similaire à la licence LGPL, avec pour différence cependant qu'une compilation statique n'​impose pas que le programme soit également sous license LGPL.
  
-Pourtant, rien ne dit que chez vous cette méthode marche et vous permet d'​avoir le dernier package pour ubuntu.+La bibliothèque originale est écrite en C++ mais il existe de nombreux binding vers les langages de programmation courants :
  
-Voila que faire:+    * Python - wxPython , Perl - wxPerl , BASIC - wxBasic, Lua - wxLua, OCaml - wxCaml, JavaScript - wxJavaScript,​ Java - wxJava ou wx4j, Ruby - wxRuby, Eiffel - wxEiffel, Haskell - wxHaskell, C#/.NET - wx.NET, Euphoria - wxEuphoria, D - wxD 
 +    * wxSQLite, wxCurl, wxXml
  
-Modifier votre fichier de dépot apt-get : FIXME+=====Installation=====
  
-   ​gksudo gedit /​etc/​apt/​sources.list+==== Installation dépôt officiel ====
  
-Deux dépots sont disponibles 
  
 +[[:​tutoriel:​comment_modifier_sources_maj|Ajoutez le dépôt]] correspondant à votre [[versions|version d'​Ubuntu]],​ ainsi que la [[:​tutoriel:​comment_modifier_sources_maj#​gerer_les_cles_d_authentification|clé d'​authentification]] correspondante :
  
-==== Dépot ​http://apt.tt-solutions.com ====+| Remplacer distribution par votre nom de version d'​ubuntu | <​code>​ deb http://apt.wxwidgets.org/​ DISTRIBUTION-wx main </​code>​ | 
 +| Exemple pour ubuntu 10.04 lucid | <​code>​ deb http://​apt.wxwidgets.org/​ lucid-wx main </​code>​ | 
 +| clé d'​authentification à ajouter |<​code>​ wget -q http://​apt.wxwidgets.org/​key.asc -O- | sudo apt-key add - </​code>​| ​
  
-Ajouter cette ligne FIXME+[[:tutoriel:​comment_modifier_sources_maj#​recharger_la_liste_des_paquets|Rechargez la liste des paquets]], puis [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt://​wxWidgets|wxWidgets]].**
  
-   deb http://​apt.tt-solutions.com/​ubuntu/​ dapper main+====wxFormBuilder ​Autre IDE====
  
-   deb http://apt.tt-solutions.com/ubuntuedgy main+  * [[:PPA|Ajoutez le PPA]] **ppa:​wxformbuilder/release**((https:​//launchpad.net/~wxformbuilder/+archive/​release)) dans vos sources de logiciels ; 
 +  * [[:​tutoriel:​comment_modifier_sources_maj#​recharger_la_liste_des_paquets|Rechargez la liste des paquets]] ; 
 +  * [[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt://​wxformbuilder|wxformbuilder]]**.
  
-   ​deb ​http://apt.tt-solutions.com/ubuntufeisty main+[[http://wxformbuilder.org/|Site officiel]] et [[http://​wiki.wxformbuilder.org/Main/Tutorials|tutoriels]]
  
 +====Compilation====
 +  * [[http://​wxdev.fr/​index.php?​mod=forum&​ac=viewtopic&​pid=4256#​p4256|Voir sur le forum]]
  
-Récupérez la clé publique du dépôt : +===== Compilation ​=====
- +
-   wget http://​www.tt-solutions.com/​vz/​key.asc | sudo apt-key add - +
- +
-==== Dépot http://​apt.wxwidgets.org/ ​==== +
- +
-Ajouter cette ligne : +
- +
-  deb http://​apt.wxwidgets.org/​ dapper-wx main +
- +
-  deb http://​apt.wxwidgets.org/​ edgy-wx main +
- +
-  deb http://​apt.wxwidgets.org/​ feisty-wx main +
- +
-  deb http://​apt.wxwidgets.org/​ gutsy-wx main +
- +
-Récupérez la clé publique du dépôt : +
- +
-  wget -q http://​apt.wxwidgets.org/​key.asc -O- | sudo apt-key add - +
- +
-Mettez a jour les paquets :  +
- +
-   sudo apt-get update  +
- +
-Chercher enfin dans Synaptic le package wxWidgets 2.8.7 et installez-le normalement. +
- +
-===== Installer manuellement ===== +
- +
-Si comme moi vous n'​arrivez pas a récupérer la clé publique du dépôt, ou si la dernière version n'est pas disponible dans le dépôt, suivez cette méthode.+
  
 Commencez par télécharger wxGTK sur le site officiel: Commencez par télécharger wxGTK sur le site officiel:
  
-   wget http://switch.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-2.8.7.tar.gz+<note important>​Les liens de téléchargement sont désormais à cette adresse: https://www.wxwidgets.org/downloads</note>
  
-Il pèse environ ​11 Mo.+<​del> ​  wget http://​switch.dl.sourceforge.net/​sourceforge/​wxwindows/​wxGTK-2.8.8.tar.gz 
 +</​del>​ 
 +Il pèse environ ​13 Mo.
  
 Dézipper cette archive, et placez-vous dans ce dossier : Dézipper cette archive, et placez-vous dans ce dossier :
  
-   cd /​home/​user/​wxGTK-2.8.7+   cd /​home/​user/​wxGTK-2.8.8
  
 Commencer par un bon vieux : Commencer par un bon vieux :
Ligne 76: Ligne 58:
  
 Le script va chercher si toutes les dépendances nécessaire à wxWidgets sont installées. Il demande notamment [[apt://​libgtk2.0-dev]] Le script va chercher si toutes les dépendances nécessaire à wxWidgets sont installées. Il demande notamment [[apt://​libgtk2.0-dev]]
 +
 +
  
 Après cela vous devez compiler wxWidgets : Après cela vous devez compiler wxWidgets :
  
    make    make
 +<note tip>Si vous avez un processeur multicoeur, à la place de taper make ( ci dessous ) utilisez plutôt :
 +   
 +   make -j2
 +
 +où 2 représente le nombre de cœur de votre processeur, si vous avez quatre cœurs vous mettrez donc  j4 :-P
 +</​note>​
  
 Ceci est assez long, allez donc boire un coup ça évite les migraines. Ceci est assez long, allez donc boire un coup ça évite les migraines.
  
-Une fois cette très longue installation terminée faites un :+ 
 +Une fois cette très longue ​<del>installation</​del>​ compilation ​terminée faites un :
  
    sudo make install    sudo make install
Ligne 94: Ligne 85:
  
 Fermez le terminal, et miracle vous pouvez exécuter des applications wxWidgets. Fermez le terminal, et miracle vous pouvez exécuter des applications wxWidgets.
 +
  
 ===== Désinstallation ===== ===== Désinstallation =====
Ligne 101: Ligne 93:
    sudo make uninstall    sudo make uninstall
  
-Dans le dossier wxGTK-2.8.où l'on a compiler la librairie juste avant.+Dans le dossier wxGTK-2.8.où l'on a compiler la librairie juste avant.
  
 N'​oubliez enfin pas un : N'​oubliez enfin pas un :
Ligne 109: Ligne 101:
 Installer ensuite la nouvelle version. Installer ensuite la nouvelle version.
  
-==== Pour les développeurs ====+ 
 +===== Pour les développeurs ​=====
  
 Afin de compiler des applications utilisant wxWidgets, installez g++, puis entrer comme commande : Afin de compiler des applications utilisant wxWidgets, installez g++, puis entrer comme commande :
Ligne 115: Ligne 108:
    g++ main.cpp -o executable `wx-config --libs --cppflags` -Wall    g++ main.cpp -o executable `wx-config --libs --cppflags` -Wall
  
 +
 +
 +[added by MagicNono begin on 03/04/09]
 +
 +pour exécuter les tutoriels présentés ici:
 +https://​chgi.developpez.com/​wxwidgets/​
 +
 +il faut penser à encadrer toutes les chaînes avec la fonction/​macro wxT
 +
 +=>ex:
 +   ​SetTitle( wxT("​Nouveau Titre"​));​
 +
 +ensuite, un prototype a évolué (tuto4), pour la gestion des timers (à modifier ds le header & le source)
 +
 +ce n'est plus
 +   void TMyFrame::​OnTimer(wxCommandEvent&​ event)
 +mais
 +   void TMyFrame::​OnTimer(wxTimerEvent&​ event)
 +
 +
 +[added by MagicNono end]
  
  
 Merci d'​avoir lu ce tutoriel, j'​invite tous ceux qui auraient des informations que j'​aurai oublié de signaler a modifier cette page. Merci d'​avoir lu ce tutoriel, j'​invite tous ceux qui auraient des informations que j'​aurai oublié de signaler a modifier cette page.
  
-Bonne continuation,+===== Voir aussi ===== 
 +  * voir aussi [[qt]][[qtcreator]] 
 +  * **(en)** [[https://​wxwidgets.org/​|Site officiel]] 
 +  * [[https://​fr.wikibooks.org/​wiki/​Interfaces_graphiques_en_C%2B%2B_avec_wxWidget|Apprentissage : Interfaces graphiques en C++ avec wxWidget sur Wikibooks]] 
 +  * [[http://​cfred.free.fr/​tutowxwidgets.php|Tutoriel en français]] et [[http://​cfred.free.fr/​punbb/​index.php|forum]] 
 +  * [[http://​wxdev.fr/​|Site d'​entraide francophone]] 
 +  * (en) [[http://​wyoguide.sourceforge.net/​|Guide pour le multiplatforme]] 
 +  * **(en)** [[http://​wxcode.sourceforge.net/​|Exemple de code]] 
 +  * **(en)** [[http://​wiki.codeblocks.org/​index.php?​title=Comparison_of_wxSmith_features#​General_information|Comparaison des éditeur wxwidgets]] 
 +  * [[https://​wiki.wxwidgets.org/​Installing_and_configuring_under_Ubuntu|Installing and configuring under Ubuntu]] ( wiki wxwidget )
  
 ---- ----
  
-//​Contributeurs : [[:​utilisateurs:​Uims]] ([[http://​forum.ubuntu-fr.org/​profile.php?​id=33687|profil forum]]) ​et Zoloom// +//​Contributeurs : [[:​utilisateurs:​Uims]] ([[http://​forum.ubuntu-fr.org/​profile.php?​id=33687|profil forum]]), [[utilisateurs:​Zoloom]]  et [[utilisateurs:​MagicNono]]//
  • wxwidgets.1203023769.txt.gz
  • Dernière modification: Le 18/04/2011, 14:53
  • (modification externe)