Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
wxwidgets [Le 04/06/2007, 01:03] 90.20.50.212 |
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: | ||
- | ====== Installation de wxWidgets ====== | + | {{tag>programmation tutoriel}} |
- | Voila un petit tutoriel qui vous permettra d'installer la dernière version de wxWidgets (actuellement la **2.8.3**) afin d'executer et développer des applications utilisant cette librairie. | + | ---- |
+ | ====== wxWidgets - programmation d'interface multiplate-formes ====== | ||
+ | <note warning>la plupart de cette page date de 2010, ces informations doivent être prises avec des pincettes</note> | ||
+ | [[wpfr>wxWidgets]] (anciennement wxWindows) est 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 finaux. wxWidgets 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 | ||
+ | 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. | ||
+ | La bibliothèque originale est écrite en C++ mais il existe de nombreux binding vers les langages de programmation courants : | ||
+ | * 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 | ||
+ | =====Installation===== | ||
+ | ==== Installation dépôt officiel ==== | ||
- | ===== 1 - Installation par package (recommandé) ===== | ||
+ | [[: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 : | ||
- | Pourant rien ne dit que chez vous cette méthode marche et vous permet d'avoir le dernier package pour ubuntu. | + | | 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>| | ||
- | Voila que faire: | + | [[: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]].** |
- | Modifier votre fichier de dépot apt-get : | + | ====wxFormBuilder - Autre IDE==== |
- | sudo gedit /etc/apt/sources.list | + | * [[: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]]**. | ||
- | Ajouter cette ligne : | + | [[http://wxformbuilder.org/|Site officiel]] et [[http://wiki.wxformbuilder.org/Main/Tutorials|tutoriels]] |
- | deb http://apt.tt-solutions.com/ubuntu/ dapper main | + | ====Compilation==== |
+ | * [[http://wxdev.fr/index.php?mod=forum&ac=viewtopic&pid=4256#p4256|Voir sur le forum]] | ||
- | deb http://apt.tt-solutions.com/ubuntu/ edgy main | + | ===== Compilation ===== |
- | deb http://apt.tt-solutions.com/ubuntu/ feisty main | + | Commencez par télécharger wxGTK sur le site officiel: |
+ | <note important>Les liens de téléchargement sont désormais à cette adresse: https://www.wxwidgets.org/downloads/ </note> | ||
- | Récupérez la clé publique du dépot : | + | <del> wget http://switch.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-2.8.8.tar.gz |
+ | </del> | ||
+ | Il pèse environ 13 Mo. | ||
- | curl http://www.tt-solutions.com/vz/key.asc | sudo apt-key add - | + | Dézipper cette archive, et placez-vous dans ce dossier : |
- | Noté que curl doit être installé pour que cette commande fonctionne : | + | cd /home/user/wxGTK-2.8.8 |
- | sudo apt-get install curl | + | Commencer par un bon vieux : |
- | Mettez a jour les paquets : | + | ./configure |
- | sudo apt-get update | + | Le script va chercher si toutes les dépendances nécessaire à wxWidgets sont installées. Il demande notamment [[apt://libgtk2.0-dev]] |
- | Chercher enfin dans Synaptic le package wxWidgets 2.8.3 et installez-le normalement. | ||
+ | Après cela vous devez compiler wxWidgets : | ||
- | ===== 2 - Installer manuellement ===== | + | make |
+ | <note tip>Si vous avez un processeur multicoeur, à la place de taper make ( ci dessous ) utilisez plutôt : | ||
+ | |||
+ | make -j2 | ||
- | Si comme moi vous n'arrivez pas a récupérer la clé publique du dépot, ou si la dernière version n'est pas disponible dans le dépot, suivez cette méthode. | + | où 2 représente le nombre de cœur de votre processeur, si vous avez quatre cœurs vous mettrez donc j4 :-P |
+ | </note> | ||
- | Commencez par télecharger wxGTK sur le site officiel: | + | Ceci est assez long, allez donc boire un coup ça évite les migraines. |
- | wget http://switch.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-2.8.3.tar.gz | ||
- | Il pèse environ 11 mo. | + | Une fois cette très longue <del>installation</del> compilation terminée faites un : |
- | Dézipper cette archive, et placer vous dans ce dossier : | + | sudo make install |
- | cd /home/user/wxGTK-2.8.3 | + | Cette opération est aussi assez longue, mais rassurez vous largement moins que la compilation. |
- | Commencer par un bon vieux : | + | **Sans ça rien ne fonctionnera :** |
- | ./configure | + | sudo ldconfig |
- | Le script va chercher si toutes les dépendances nécessaire a wxWidgets sont installées. | + | Fermez le terminal, et miracle vous pouvez exécuter des applications wxWidgets. |
- | Après cela vous devez compiler wxWidgets : | ||
- | make | + | ===== Désinstallation ===== |
- | Ceci est assez long, allez donc boire un coup sa évite les migraines. | + | Pour effectuer une mise à jour, il est conseillé de bien désinstaller votre installation précédente ainsi : |
- | Une fois cette très longue installation terminée faites un : | + | sudo make uninstall |
- | sudo make install | + | Dans le dossier wxGTK-2.8.8 où l'on a compiler la librairie juste avant. |
- | Cette opération est aussi assez longue, mais rassurez vous largement moins que la compilation. | + | N'oubliez enfin pas un : |
- | Pour finir l'installation a omis de copier les librairies .so de wxWidgets dans le dossier /usr/lib. | + | sudo ldconfig |
- | **Sans ça rien ne fonctionnera :** | + | Installer ensuite la nouvelle version. |
- | Placez vous dans le repertoire lib de wxGTK 2.8.3 | ||
- | cd /home/user/wxGTK-2.8.3/lib | + | ===== Pour les développeurs ===== |
- | Et copiez les fichiers vers /usr/lib | + | Afin de compiler des applications utilisant wxWidgets, installez g++, puis entrer comme commande : |
- | sudo cp *.so /usr/lib | + | g++ main.cpp -o executable `wx-config --libs --cppflags` -Wall |
- | suivi de | ||
- | sudo ldconfig | ||
- | Fermez le terminal, et miracle vous pouvez exécuter des applications wxWidgets. | + | [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 | ||
- | ==== Pour les développeurs ==== | + | =>ex: |
+ | SetTitle( wxT("Nouveau Titre")); | ||
- | Afin de compiler des applications utilisant wxWidgets, installez g++, puis entrer comme commande : | + | ensuite, un prototype a évolué (tuto4), pour la gestion des timers (à modifier ds le header & le source) |
- | + | ||
- | g++ main.cpp -o executable `wx-config --libs --cppflags` -Wall | + | |
+ | ce n'est plus | ||
+ | void TMyFrame::OnTimer(wxCommandEvent& event) | ||
+ | mais | ||
+ | void TMyFrame::OnTimer(wxTimerEvent& event) | ||
- | Merci d'avoir lu ce tutoriel, j'invite tous ceux qui auraient des informations que j'aurai oublier de signaler a modifier cette page. | + | [added by MagicNono end] |
- | Bonne continuation, | ||
- | // | + | Merci d'avoir lu ce tutoriel, j'invite tous ceux qui auraient des informations que j'aurai oublié de signaler a modifier cette page. |
- | Un gros merci spécial à Uims pour l'écriture de ce tutoriel!// | + | |
+ | ===== 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]]), [[utilisateurs:Zoloom]] et [[utilisateurs:MagicNono]]// |