Vous n'êtes pas identifié.
voila je me suis à GTK ( librairie pour faire des app windows et linux ).
J'utilise DevC++ (autant utiliser les logiciels libres et librairies libre jusqu'au bout) et j'aimerai savoir comment compiler en statique pour pas se faire chier avec les runtimes.
voila merci
Hors ligne
*WXWIDGETS OU QT C'EST MIEUX*
lol a vrai dire, as-tu déja compilé GTK en mode statique ?
normalement doit y avoir deux versions des librairies GTK: une pr compiler avec les dll (les libs sont alors des libs d'import de dll) et une pour compiler en statique (les libs contiennent tout)
enfin maintenant regarde si tu peux faire ca avec GTK
Hors ligne
*QT C MIEUX QUE WXWIDGETS :P (mais c pas gratuit :oops: )*
Les runtimes c pas tjs une mauvaise chose, ça permet de créer des exe plus petits (pratique pour les mises à jour etc), et puis si tu crées plusieurs progs ca permet de laisser des données en commun... on dl une fois les runtimes et puis on est tranquille
Hors ligne
ca me dit toujours pas compiler en statique
Hors ligne
Avec GTK sous windows c'est assez dur de compiler en statique.
Il faut tout recompiler (avec toutes les dépendances), tu pert le support des plugins et il faut pas hésiter a se plonger dans les Makefiles. (valable la dernière fois que j'ai essayé, avec gtk2 v2.2.0). Les sources pour windows sont sur http://www.gimp.org/~tml/gimp/win32/downloads.html , quand le site sera reparé
mastermage -> si tu compile avec gcc, tu peux pas (normalement) utiliser QT, sauf si tu paye une license ...
Hors ligne
Pk vous dites ke GTK c moins bien ?
parceque en fait j'hesite trop trop en GTK et WxWigdget !
est ce ke kk1 pour me donner l'argument ki tue ?
Hors ligne
*COMMENT TU PEUX PREFERER QT A WXWIDGETS T'AS JAMAIS ESSAYE WXWIDGETS*
les arguments de la mort qui tue :
wxWidgets c'est entierement en C++ avec un design objet (contrairement a MFC par exemple qui est vraiment merdique)
wxWidgets compile avec Digital Mars (et pl1 d'autres compilateurs gratuits dont MinGW et Cygwin) sous windows.
wxWidgets est disponible sur tous les Unix, Windows, Mac
wxWidgets utilise l'interface graphique native, et supporte les themes de l'OS (sous windows ou GTK par exemple)
wxWidgets dispose de d'un ensemble de fonctionalités dont l'utilisation est tres coherente (noms de fonctions et de propriétés)
wxWidgets ...
Enfin ya pl1 d'avantages par rapport a GTK, mais le plus significatif, c'est que c'est fait en C++
Maintenant tu peut tout aussi bien essayer Qt, mais sous windows c'est pas gratuit, et hormis Visual C++ ou Borland impossible de l'utiliser. Niveau interface graphique wxWidgets et Qt se valent, la difference se situant surtout au niveau des fonctionnalités annexes (fonctions d'acces aux bases de données, XML...), Qt etant bien mieux fourni que wxwidgets...
Hors ligne
*M'EN FOUS, QT POWA :mrgreen: *
à mon avis casioworld le mieux c que tu compares des exemples de prog pour essayer de comprendre la "philosophie" de chaque lib... Faut choisir celle qui correspond le mieux à ta facon de programmer je pense
Hors ligne
mastermage a écrit:
wxWidgets c'est entierement en C++ avec un design objet (contrairement a MFC par exemple qui est vraiment merdique)
:ptdr: mort de rire ! :mrd:
ca, c'est L'Argument !
(je ne connais ni wxwidgets ni MFC mais je sais maintenant lequel j'utiliserai si un jour je devais le faire )
Bah en fait j'ai vu un peu de tout : GTK, MFC, et QT et a crai dire aucun ne me plaisait bcp car chacun avait un gros défaut. et quand je vois wxWidget bah je ne vois pas bcp de défaut qui me rebute completement. je voulais votre avis.
- GTK en C bah moi ki veut absolument me mettre au C++ ( en fait je m'y suis mis déjà ) bah c pas génial. et GTK ne me semblait pas très bien fourni. dans la doc en anglais y a pas grand chose.
- QT, bah on se limiteà la 2.3 sous Windows alors moi ki aime bien windows ( meme si linux est mieux il est vrai ) bah ca m'emballait pas bcp. j'avoue que c le must du must
- MFC bah c super puissant, mais c microsoft, et visualc++ j'aime vraiment pas et bon c que windows ( c vrai je me contredis mais bon j'ai tout de meme l'intention d'installer linux sur mon portable, quand j'en aurai un, lol car mon Packardbell n'en veut pas. )
Et puis faire un programme avec un logiciel cracké ca ne m'emballe pas trop. si je pe fais autrement je fais autrement.
ok je compile mes progs pour graph100 avec TC3.0 mais j'utilise l'interface de DevC++ quand meme ! loooool je culpabilise moins !
Hors ligne
Faut surtout comparer les approches orientées objet entre les langages...
Perso au début j'avais appris un peu de prog orienté objet comme ça (pour sonic en fait), et puis j'ai suivi des tutos pour utiliser les MFC. Mais j'arrivais à rien, je comprenais pas bien la logique dans la manipulation des objets, je trouvais pas ça intuitif du tout...
Puis j'ai laissé les mfc de coté et je me suis habitué à la poo sur g100 et à l'unif, en implémentant et en utilisant des classes selon ma propre vision des choses, selon ce qui me paraissait le plus "naturel" dans le comportement des objets et dans les interactions entre eux etc
Et puis j'ai été amené à essayer Qt, et là j'ai été tout content de voir que ca correspondait exactement à ma vision de la poo: j'ai pas besoin de me casser la tête pour savoir comment faire tel ou tel truc, je n'ai qu'à me dire "j'aurais besoin d'une fonction qui fait ca sur tel objet", je vais voir dans l'aide et évidemment elle existe déjà, y'a plus qu'à l'utiliser tout naturellement
C'est difficile à expliquer, y'a aussi une question d'habitude, mais il faut d'abord bien choisir la lib qu'on utilise, selon la façon dont on voit les choses... je ne connais pas WxWidgets mais ça doit sans doute + ressembler à Qt qu'aux mfc, ca vaut peut-etre la peine d'essayer pour voir comment ça se manipule
Hors ligne
je rappelle que microsoft a mis en libre téléchargement le compileur de VC++, mais pas l' IDE au passage. et j' ai cru voir sur un site que c' était le compilo de VC++ qu' était le plus puissant en moyenne pour le moment (j' ai pu l' adresse du site par contre>google)
Hors ligne
bah franchement MFC c'est bien pour prog avec Visual C++ et Windows, mais bon dieu que ca donne du code dégueulasse, tournant que sous windows, et puis c'est vraiment pas orienté objet...
wxWidgets est vraiment en C++ OBJET (comme Qt, mais il tres facile de porter du code ecrit pour MFC vers du code ecrit pour wxWidgets, d'apres ce que g lu sur des forums/mailing lists)
bon sinon pour avoir une exemple de code wxWidgets, voici un code qui cree une fenetre avec un gestionnaire d'evenement, etc... mais dans la pratique on est meme pas obligé de dériver des classes comme ci-dessous, suffit juste d'ajouter un gestionnaire d'evenements pour la fenetre.
#include <wx/wx.h> class vfxFrame : public wxFrame { public: vfxFrame(const wxString& title, const wxPoint& pos, const wxSize& size); void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); private: DECLARE_EVENT_TABLE() }; enum { ID_Quit = 1, ID_About }; BEGIN_EVENT_TABLE(vfxFrame, wxFrame) EVT_MENU(ID_Quit, vfxFrame::OnQuit) EVT_MENU(ID_About, vfxFrame::OnAbout) END_EVENT_TABLE() vfxFrame::vfxFrame(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame((wxFrame *)NULL, wxID_ANY, title, pos, size) { wxMenu *menuFile = new wxMenu; menuFile->Append( ID_Quit, "Quitter" ); wxMenu *menuHelp = new wxMenu; menuHelp->Append( ID_About, "A Propos" ); wxMenuBar *menuBar = new wxMenuBar; menuBar->Append( menuFile, "Fichier" ); menuBar->Append( menuHelp, "?" ); SetMenuBar( menuBar ); CreateStatusBar(); SetStatusText("Viva Graph100.com"); } void vfxFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { Close(true); } void vfxFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { ::wxMessageBox("A propos du forum Hors G100"); } class vfxApp : public wxApp { virtual bool OnInit(); }; IMPLEMENT_APP(vfxApp) bool vfxApp::OnInit() { vfxFrame *frame = new vfxFrame( "Tuto", wxPoint(50,50),wxSize(450,340) ); frame->Show( TRUE ); SetTopWindow( frame ); return true; }
Hors ligne
Intéressant... C'est marrant c'est vraiment à mi chemin entre les MFC et Qt
La même chose en Qt, ca donnerait ça:
#include <qdialog.h> #include <qapplication.h> #include <qmessagebox.h> #include <qmenubar.h> #include <qpopupmenu.h> class MyDialog : public QMainWindow { Q_OBJECT public: MyDialog(QWidget *parent=NULL, char *name=NULL, WFlags fl = WType_TopLevel ); public slots: void OnQuit(); void OnAbout(); }; MyDialog::MyDialog(QWidget *parent,char *name,WFlags fl ) : QMainWindow(parent,name,fl) { QPopupMenu *menuFile = new QPopupMenu(this); menuFile->insertItem("Quitter", this, SLOT(OnQuit()) ); QPopupMenu *menuHelp = new QPopupMenu(this); menuHelp->insertItem("A propos", this, SLOT(OnAbout()) ); QMenuBar *menubar = new QMenuBar(this, "menu"); menubar->insertItem("Fichier",menuFile,1); menubar->insertItem("?",menuHelp,2); statusBar()->message("Vive Graph100.com"); } void MyDialog::OnQuit() { qApp->quit(); } void MyDialog::OnAbout() { QMessageBox::information(this,"Info","A propos du forum Hors G100"); } int main(int argc, char* argv[]) { QApplication a(argc,argv); MyDialog dlg; dlg.show(); a.setMainWidget( &dlg ); return a.exec(); }
Hors ligne
Au niveau des instructions c'est vraiment équivalent...
La seule chose qui change, c'est la gestion des évenements: wxWidgets demande un gestionnaire et attribue un ID à chaque event, tandis que Qt utilise des signaux et des "slots" pour connecter entre eux les événements et les actions correspondantes
Hors ligne