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 28/11/2007, 09:22] smeagol-worms4 Changement de la commande curl en wget |
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 ====== | ||
+ | <note warning>la plupart de cette page date de 2010, ces informations doivent être prises avec des pincettes</note> | ||
- | ====== wxWidgets ====== | + | [[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 |
- | Voila un petit didacticiel qui vous permettra d'installer la dernière version de wxWidgets (actuellement la **2.8.3**) afin d'exécuter et développer des applications utilisant cette bibliothèque. | + | 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 ==== | ||
- | ===== 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 : |
+ | | 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>| | ||
- | Pourtant, rien ne dit que chez vous cette méthode marche et vous permet d'avoir le dernier package pour ubuntu. | + | [[: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]].** |
- | Voila que faire: | + | ====wxFormBuilder - Autre IDE==== |
- | Modifier votre fichier de dépot apt-get : FIXME | + | * [[: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]]**. | ||
- | gksudo gedit /etc/apt/sources.list | + | [[http://wxformbuilder.org/|Site officiel]] et [[http://wiki.wxformbuilder.org/Main/Tutorials|tutoriels]] |
- | Deux dépots sont disponibles | + | ====Compilation==== |
+ | * [[http://wxdev.fr/index.php?mod=forum&ac=viewtopic&pid=4256#p4256|Voir sur le forum]] | ||
+ | ===== Compilation ===== | ||
- | ==== Dépot http://apt.tt-solutions.com ==== | + | Commencez par télécharger wxGTK sur le site officiel: |
- | Ajouter cette ligne : FIXME | + | <note important>Les liens de téléchargement sont désormais à cette adresse: https://www.wxwidgets.org/downloads/ </note> |
- | deb http://apt.tt-solutions.com/ubuntu/ dapper main | + | <del> wget http://switch.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-2.8.8.tar.gz |
+ | </del> | ||
+ | Il pèse environ 13 Mo. | ||
- | deb http://apt.tt-solutions.com/ubuntu/ edgy main | + | Dézipper cette archive, et placez-vous dans ce dossier : |
- | deb http://apt.tt-solutions.com/ubuntu/ feisty main | + | cd /home/user/wxGTK-2.8.8 |
+ | Commencer par un bon vieux : | ||
- | Récupérez la clé publique du dépôt : | + | ./configure |
- | wget http://www.tt-solutions.com/vz/key.asc | sudo apt-key add - | + | Le script va chercher si toutes les dépendances nécessaire à wxWidgets sont installées. Il demande notamment [[apt://libgtk2.0-dev]] |
- | ==== Dépot http://apt.wxwidgets.org/ ==== | + | Après cela vous devez compiler wxWidgets : |
- | Ajouter cette ligne : | + | make |
+ | <note tip>Si vous avez un processeur multicoeur, à la place de taper make ( ci dessous ) utilisez plutôt : | ||
+ | |||
+ | make -j2 | ||
- | deb http://apt.wxwidgets.org/ drapper-wx main | + | où 2 représente le nombre de cœur de votre processeur, si vous avez quatre cœurs vous mettrez donc j4 :-P |
+ | </note> | ||
- | deb http://apt.wxwidgets.org/ edgy-wx main | + | Ceci est assez long, allez donc boire un coup ça évite les migraines. |
- | deb http://apt.wxwidgets.org/ feisty-wx main | ||
- | Récupérez la clé publique du dépôt : | + | Une fois cette très longue <del>installation</del> compilation terminée faites un : |
- | wget -q http://apt.wxwidgets.org/key.asc -O- | sudo apt-key add - | + | sudo make install |
+ | Cette opération est aussi assez longue, mais rassurez vous largement moins que la compilation. | ||
+ | **Sans ça rien ne fonctionnera :** | ||
+ | sudo ldconfig | ||
- | Mettez a jour les paquets : | + | Fermez le terminal, et miracle vous pouvez exécuter des applications wxWidgets. |
- | sudo apt-get update | ||
- | Chercher enfin dans Synaptic le package wxWidgets 2.8.3 et installez-le normalement. | + | ===== Désinstallation ===== |
+ | Pour effectuer une mise à jour, il est conseillé de bien désinstaller votre installation précédente ainsi : | ||
+ | sudo make uninstall | ||
+ | Dans le dossier wxGTK-2.8.8 où l'on a compiler la librairie juste avant. | ||
+ | N'oubliez enfin pas un : | ||
- | ===== Installer manuellement ===== | + | sudo ldconfig |
- | 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. | + | Installer ensuite la nouvelle version. |
- | Commencez par télécharger wxGTK sur le site officiel: | ||
- | wget http://switch.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-2.8.3.tar.gz | + | ===== Pour les développeurs ===== |
- | Il pèse environ 11 Mo. | + | Afin de compiler des applications utilisant wxWidgets, installez g++, puis entrer comme commande : |
- | Dézipper cette archive, et placez-vous dans ce dossier : | + | g++ main.cpp -o executable `wx-config --libs --cppflags` -Wall |
- | cd /home/user/wxGTK-2.8.3 | ||
- | Commencer par un bon vieux : | ||
- | ./configure | + | [added by MagicNono begin on 03/04/09] |
- | Le script va chercher si toutes les dépendances nécessaire à wxWidgets sont installées. | + | pour exécuter les tutoriels présentés ici: |
+ | https://chgi.developpez.com/wxwidgets/ | ||
- | Après cela vous devez compiler wxWidgets : | + | il faut penser à encadrer toutes les chaînes avec la fonction/macro wxT |
- | make | + | =>ex: |
+ | SetTitle( wxT("Nouveau Titre")); | ||
- | Ceci est assez long, allez donc boire un coup ça évite les migraines. | + | ensuite, un prototype a évolué (tuto4), pour la gestion des timers (à modifier ds le header & le source) |
- | Une fois cette très longue installation terminée faites un : | + | ce n'est plus |
+ | void TMyFrame::OnTimer(wxCommandEvent& event) | ||
+ | mais | ||
+ | void TMyFrame::OnTimer(wxTimerEvent& event) | ||
- | sudo make install | ||
- | |||
- | Cette opération est aussi assez longue, mais rassurez vous largement moins que la compilation. | ||
- | |||
- | Pour finir l'installation a omis de copier les librairies .so de wxWidgets dans le dossier /usr/lib. | ||
- | |||
- | **Sans ça rien ne fonctionnera :** | ||
- | |||
- | Placez vous dans le répertoire lib de wxGTK 2.8.3 | ||
- | |||
- | cd /home/user/wxGTK-2.8.3/lib | ||
- | |||
- | Et copiez les fichiers vers /usr/lib | ||
- | |||
- | sudo cp *.so /usr/lib | ||
- | |||
- | suivi de | ||
- | |||
- | sudo ldconfig | ||
- | |||
- | Fermez le terminal, et miracle vous pouvez exécuter des applications wxWidgets. | ||
- | |||
- | |||
- | |||
- | |||
- | ==== Pour les développeurs ==== | ||
- | |||
- | Afin de compiler des applications utilisant wxWidgets, installez g++, puis entrer comme commande : | ||
- | |||
- | g++ main.cpp -o executable `wx-config --libs --cppflags` -Wall | ||
+ | [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]]).// | + | //Contributeurs : [[:utilisateurs:Uims]] ([[http://forum.ubuntu-fr.org/profile.php?id=33687|profil forum]]), [[utilisateurs:Zoloom]] et [[utilisateurs:MagicNono]]// |