Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1782 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  wxWidgets

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

wxWidgets

n°933840
ouned-codi​ng
Posté le 29-12-2004 à 20:35:42  profilanswer
 

Salut,
 
Voilà, est ce que quelqu'un serait familier avec le framework wxWidgets, si oui serait t'il possible que cette meme personne m'explique brèvement le fonctionnement des objets wxBoxSizer.  Je n'arrive pas du tout a comprendre, ni meme  positionner trois label et trois textbox l'un en face de l'autre, ca me rend vraiment fou.   :fuck: GUI
 
Programming with wxBoxSizer  
 
merci d'avance


Message édité par ouned-coding le 31-12-2004 à 23:33:40
mood
Publicité
Posté le 29-12-2004 à 20:35:42  profilanswer
 

n°933904
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-12-2004 à 23:21:08  profilanswer
 

C'est facile de commencer mais on a vite fait de passer des heures à "jouer" sur les sizers et leurs @#!& de "flags"  [:airforceone] !

Code :
  1. struct f_fenetre_principale : wxFrame
  2. {
  3. // constructeur
  4. f_fenetre_principale() :
  5. wxFrame( static_cast<wxFrame*>(0), -1, _T("Programming with wxBoxSizer!" ), wxDefaultPosition, wxSize(305,130) )
  6. {
  7.  wxPanel* panel = new wxPanel( this, -1 );
  8.  wxBoxSizer* topsizer = new wxBoxSizer( wxVERTICAL );
  9.  wxFlexGridSizer* tabsizer = new wxFlexGridSizer( 3, 2, 0, 0 );
  10.  wxStaticText* text1 = new wxStaticText( panel, -1, _T("Première ligne :" ) );
  11.  wxStaticText* text2 = new wxStaticText( panel, -1, _T("Seconde ligne :" ) );
  12.  wxStaticText* text3 = new wxStaticText( panel, -1, _T("Dernière ligne :" ) );
  13.  wxTextCtrl* textctrl1 = new wxTextCtrl( panel, -1, _T("Saisie première ligne" ), wxDefaultPosition, wxSize(200,20) );
  14.  wxTextCtrl* textctrl2 = new wxTextCtrl( panel, -1, _T("Saisie seconde ligne" ), wxDefaultPosition,  wxSize(200,20) );
  15.  wxTextCtrl* textctrl3 = new wxTextCtrl( panel, -1, _T("Saisie dernière ligne" ), wxDefaultPosition,  wxSize(200,20) );
  16.  tabsizer->Add( text1,  0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
  17.  tabsizer->Add( textctrl1, 0, wxALIGN_CENTER | wxALL, 6 );
  18.  tabsizer->Add( text2,  0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
  19.  tabsizer->Add( textctrl2, 0, wxALIGN_CENTER | wxALL, 6 );
  20.  tabsizer->Add( text3,  0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
  21.  tabsizer->Add( textctrl3, 0, wxALIGN_CENTER | wxALL, 6 );
  22.  topsizer->Add( tabsizer, 0, wxALIGN_CENTER_HORIZONTAL, 6 );
  23.  panel->SetSizer( topsizer );
  24.  panel->SetAutoLayout( TRUE );
  25.  panel->Layout();
  26. }
  27. };
  28. class application : public wxApp
  29. {
  30. public:
  31.     virtual bool OnInit() {
  32.  f_fenetre_principale* fenetre_principale = new f_fenetre_principale;
  33.  fenetre_principale->Show( TRUE );
  34.  return TRUE;
  35. };
  36. };
  37. IMPLEMENT_APP( application )


Message édité par xterminhate le 30-12-2004 à 09:47:43

---------------
Cordialement, Xterm-in'Hate...
n°933905
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-12-2004 à 23:25:22  profilanswer
 

http://perso.wanadoo.fr/xterminhate/screen998.jpg


---------------
Cordialement, Xterm-in'Hate...
n°933914
ouned-codi​ng
Posté le 29-12-2004 à 23:52:25  profilanswer
 

lu,
 
 
Ma foi c'est exactement ce qu'il me fallait, thx, dommage pour le manque de commentaire et surtout d'explications même en sachant que c'est relativement simple.  Vais essayer de me les fabriquer en  comparant avec la 'miserable' doc que j'ai.
 

Citation :

C'est facile de commencer mais on a vite fait de passer des heures à "jouer" sur les sizers et leurs @#!& de "flags"

Tout à fait d'accord avec toi et il n'y a pas que ces  @!*$ de sizers ;)
 
Tu connais une autre solution ( mise à part les editeurs de dialogs )   ?
 
 
 

n°933969
xterminhat​e
Si vis pacem, para bellum.
Posté le 30-12-2004 à 09:12:08  profilanswer
 

Dans l'ordre, tu crées :
1) une wxFrame (cadre de la fenetre),
2) un wxPannel (partie grise windows),
3) un wxBoxSizer qui va devenir le sizer du pannel,
4) un wxGridSizer ou wxFlexGridSizer qui va permettre de placer des éléments graphiques en 'tableau'
 
Ensuite, tu ajoutes
5) les éléments graphiques au wxGridSizer : wxGridSizer*->Add(wxXXXXX*)
6) le wxGridSizer au BoxSizer : wxBoxSizer*->Add(wxGridSizer*),
 
Enfin, tu places
7) le BoxSizer dans le pannel : wxPannel*->SetSizer(wxBoxSizer*),
 
Pour les flags, je te laisse découvrir.... :-)


Message édité par xterminhate le 30-12-2004 à 09:14:26

---------------
Cordialement, Xterm-in'Hate...
n°933970
xterminhat​e
Si vis pacem, para bellum.
Posté le 30-12-2004 à 09:15:51  profilanswer
 

Les éléments graphiques doivent appartenir à une classe wxPannel (ou ses dérivés) et non à un wxSizer (et ses dérivés) :
wxStaticText( wxPannel*, -1 ....


Message édité par xterminhate le 30-12-2004 à 09:16:36

---------------
Cordialement, Xterm-in'Hate...
n°934029
Lam's
Profil: bas.
Posté le 30-12-2004 à 11:56:15  profilanswer
 

xterminhate a écrit :

Les éléments graphiques doivent appartenir à une classe wxPannel (ou ses dérivés) et non à un wxSizer (et ses dérivés) :
wxStaticText( wxPannel*, -1 ....


 
Tu manges du poisson panné ce midi ?  ;)

n°934058
ouned-codi​ng
Posté le 30-12-2004 à 12:50:18  profilanswer
 

lol Lams,  
 
 
Et bien merci pour ces précisions,  maintenant ça donne un peu plus de sens a ce qui est expliqué dans la doc.
 
 
bonne journée  :)

n°934202
ouned-codi​ng
Posté le 30-12-2004 à 16:04:57  profilanswer
 

Juste pour info, pour  le redimenssionnement du dialog (wxDialog),
 
mydlg->Fit( );  et tout se met en place correctement.

n°934306
xterminhat​e
Si vis pacem, para bellum.
Posté le 30-12-2004 à 18:20:50  profilanswer
 

Lol. Merci de me quoter, je peux plus corriger maintenant ! ;-)
 
Merci pour le fit(). On arrive a faire des choses biens avec wxWidget. Si tu trouves un éditeur de dialogue sympa, ca m'interesse.


Message édité par xterminhate le 30-12-2004 à 18:21:22

---------------
Cordialement, Xterm-in'Hate...
mood
Publicité
Posté le 30-12-2004 à 18:20:50  profilanswer
 

n°934321
ouned-codi​ng
Posté le 30-12-2004 à 18:41:16  profilanswer
 

Citation :

Si tu trouves un éditeur de dialogue sympa, ca m'interesse.


 
 
Personnelement je te conseille d'essayer DialogBlocks ( http://www.anthemion.co.uk/dialogblocks/ )
 
Il super complet, et n'a pas le default de nous sortir du code pourri en sortie, donc facil a modifier et à re-utiliser.  
 
 
>>  On croirait presque coder en VB  :sweat:    ( ok je sors )

n°934578
raytaller
Posté le 31-12-2004 à 12:12:36  profilanswer
 

balèze, il coûte que 30 € pour les étudiants.. ça a l'air pas mal en plus
 
sinon, y'en a beaucoup qui prototypent leurs applis wx avec wxPython ? j'ai lu que ça se faisait, vu que c'est assez simple wxPython, mais comme ils ont rajouté des trucs, il doit falloir faire gaffe à pas les utiliser

n°934621
ouned-codi​ng
Posté le 31-12-2004 à 13:19:41  profilanswer
 

Oui ca pour avoir du  monde qui developpe des applications graphiques en python (wxPython), y en a un bon paquet, mais que veux tu dire par là > mais comme ils ont rajouté des trucs, il doit falloir faire gaffe à pas les utiliser ??

n°934632
raytaller
Posté le 31-12-2004 à 13:41:03  profilanswer
 

ben, si tu fais un prototype rapidement en python, pour l'implémenter après en C++, faut faire gaffe de pas utiliser avec wxPython, des trucs qui n'existent pas en wxWidgets sinon après pour porter tout en C++ ça va être compliqué
 
 
par contre, je comprends pas pourquoi DialogBlocks me dit que j'ai pas compilé wxWidgets pour VC++, j'ai l'impression qu'il cherche pas au bon endroit

n°934637
ouned-codi​ng
Posté le 31-12-2004 à 13:56:42  profilanswer
 

ah oui d'accord,   pour dialogblocks ...  (cf. topic http://forum.hardware.fr/forum2.ph [...] 0&subcat=0 )
 
J'ai le meme probleme, je ne peux rien compiler. J'attends une reponse mais apparement pas très connue des bataillons.

n°934777
ouned-codi​ng
Posté le 31-12-2004 à 23:32:06  profilanswer
 

Salut, bonne année  ( :( )
 
 
What is wx-devcpp ?
 
wx-devcpp is an extension of DevC++ with a Form Designer for the Amazing Multiplatform toolkit wx-Widgets. The source is based on Sep 18th 2004 of DevC++.  
 
http://wxdsgn.sourceforge.net/faq.html


Message édité par ouned-coding le 01-01-2005 à 00:45:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  wxWidgets

 

Sujets relatifs
Opengl dans une fenetre wxWidgets...[devcpp] installer wxwidgets
Lire un fichier web en C++ avec wxWidgets[C++/wxWidgets/MSW] Savoir si un fichier est système
[python] utiliser wxWidgets : avec ou sans wxGlade ?question de style (wxwidgets/winxp)
Probleme lors de la creation de toolbar avec wxwidgetstry catch en wxWidgets / C++
wxList (wxWidgets) : keyed listwxwidgets(anciennement wxwindows) et RTTI
Plus de sujets relatifs à : wxWidgets


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR