Problema con i wxSizers

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Problema con i wxSizers

Messaggio da Dott104 »

Qualche anima pia mi può spiegare in parole povere come mettere su un'applicazione con le wxWidgets ordinata???

Sono arrivato a questo sgorbio!

Immagine

Il bottone "ASD" sto sopra un altro! Ma dovrebbero stare al centro della finestra!

...leggendo la documentazione ho appreso che bisogna far uso di wxPanel e wxBoxSizer per rendere ordinata la finestra! Mica i sezers si usano solo per le wxDialog???


Thx
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
difesaparcosempione
Rampante Reduce
Rampante Reduce
Messaggi: 6031
Iscrizione: giovedì 27 luglio 2006, 19:06
Località: Torino
Contatti:

Re: Problema con i wxSizers

Messaggio da difesaparcosempione »

:( non ti posso aiutare per adesso ... anch'io sono agli inizi ...

Però in qualità di SuperBeghinner posso farti una domanda ..

Le libreria vxWidgets come le stai usando ? Quale programma IDE usi ?
Oppure stai compilando da linea di comando da terminale ...

ciao e grazie ..
:D
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: Problema con i wxSizers

Messaggio da Dott104 »

[ot]
difesaparcosempione ha scritto: :( non ti posso aiutare per adesso ... anch'io sono agli inizi ...

Però in qualità di SuperBeghinner posso farti una domanda ..

Le libreria vxWidgets come le stai usando ? Quale programma IDE usi ?
Oppure stai compilando da linea di comando da terminale ...

ciao e grazie ..
:D
Per questo specifico programma sto usando Kdevelop, giusto per questioni "storiche", dato che c'ho fatto la tesi di laurea! Però anche Anjuta è buono! Devo solo provarli e vedere quale t piace di più! Per la compilazione entrambi creano in automatico le opzioni di compilazione, così tu devi cliccace solo su Compila e/o Esegui! :D
[/ot]
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
difesaparcosempione
Rampante Reduce
Rampante Reduce
Messaggi: 6031
Iscrizione: giovedì 27 luglio 2006, 19:06
Località: Torino
Contatti:

Re: Problema con i wxSizers

Messaggio da difesaparcosempione »

grazie ...  (good)
quindi kdevelop o Aniuta fanno che attivare loro il programmino 'wx-config --libs' e 'wx-config -cppflags' ?
Quindi se passo ad usare questi IDE avrò anche l'Intellisense ? ( molto utile per me che conosco poco poco il c spas spas ! )

ciao e grazie ancora ...
PS
(rotfl)
ti sono scappati dei [ot] e [/ot] nella risposta
(rotfl)
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: Problema con i wxSizers

Messaggio da Dott104 »

difesaparcosempione ha scritto: grazie ...  (good)
quindi kdevelop o Aniuta fanno che attivare loro il programmino 'wx-config --libs' e 'wx-config -cppflags' ?
Quindi se passo ad usare questi IDE avrò anche l'Intellisense ? ( molto utile per me che conosco poco poco il c spas spas ! )
Dovresti, qua sto aspettando che qualcuno mi spieghi come attivarlo sotto Anjuta!
difesaparcosempione ha scritto: ciao e grazie ancora ...
PS
(rotfl)
ti sono scappati dei [ot] e [/ot] nella risposta
(rotfl)
Per la verità li ho messi di proposito, perchè la tua domanda era offtopic ed ho risposto offtopic! :D
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
difesaparcosempione
Rampante Reduce
Rampante Reduce
Messaggi: 6031
Iscrizione: giovedì 27 luglio 2006, 19:06
Località: Torino
Contatti:

Re: Problema con i wxSizers

Messaggio da difesaparcosempione »

Infatti mi ero accorto del tuo TOPO solo dopo che ti avevo interpellato.
Quindi su anjuta nessuno ci aiuta ! Sob !!
Però con kdevelop si arriva ad utilizzare l'intellisense ?

PS: avevo capito ot  :(

ciao
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: Problema con i wxSizers

Messaggio da Dott104 »

Finalmente ho capito come fungono i sizers, solo che ora la finestra, o meglio il panel, è tagliato!

Normale e già non è della dimensione giusta!
Immagine

Espanso, come si può vedere gli elementi sono tagliati e non si espandono!
Immagine


Mi dite come si setta bene un panel??? Che flag deve avere??? Giusto per avere un panel che si ridimensiona insieme al freme!

Giusto per aiutarvi nella'aiutarmi, vi posto il codice del frame!

Codice: Seleziona tutto

graphManiaFrame::graphManiaFrame( const wxString& title, const wxPoint& pos, const wxSize& size )
	: wxFrame((wxFrame *)NULL, -1, title, pos, size, wxDEFAULT_FRAME_STYLE)
{
        // Menu presenti della finestra
        // File
	wxMenu   *menuFile = new wxMenu;
        // About
        wxMenu   *menuAbout = new wxMenu;
        
        menuFile->Append(wxID_NEW, wxT("&Nuova partita\tCtrl+N"), wxT("Nuovo\t"));
        menuFile->AppendSeparator();
        menuFile->Append( wxID_EXIT, wxT( "E&xit" ) );
        
        // Creazione menu ABOUT  
        menuAbout->Append(wxID_ABOUT, wxT("&About...\tF1"), wxT("Show about dialog"));
        
        // TOOLBAR
        wxToolBar* toolBar = new wxToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_HORIZONTAL|wxNO_BORDER);
        
        // Icone toolbar
        wxBitmap bmpOpen(open_xpm);
        wxBitmap bmpSave(save_xpm);
        
        toolBar->AddTool(wxID_OPEN, bmpOpen, wxT("Open")); 
        toolBar->AddSeparator();
        toolBar->AddTool(wxID_SAVE, bmpSave, wxT("Save"));
        
        toolBar->Realize();
        SetToolBar(toolBar);
        
        /* INSERIMENTO ELEMENTI NEL FRAME PRINCIPALE*/
        
        wxMenuBar *menuBar = new wxMenuBar;
        menuBar->Append( menuFile, wxT( "&File" ) );
        menuBar->Append( menuAbout, wxT("&Help") );
        
        SetMenuBar( menuBar );
        
        /**********************************************************/
        
        // Panel
        //wxPanel* panel = new wxPanel(this, ID_PANEL, wxDefaultPosition, wxSize(LARGHEZZA, ALTEZZA));
        wxPanel* panel = new wxPanel(this, ID_PANEL, wxDefaultPosition, wxDefaultSize);
        
        wxBoxSizer *mainSizer   = new wxBoxSizer( wxVERTICAL );
        wxBoxSizer *textSizer   = new wxBoxSizer( wxHORIZONTAL );
        
        wxTextCtrl *numero1 = new wxTextCtrl( panel, wxID_ANY, wxT("My text.") );
        
        wxStaticText *scritta = new wxStaticText( panel, wxID_ANY, wxT(" Testo descrittivo ") );

         
        textSizer->Add(scritta, 1, wxEXPAND | wxALL, 10 );
        textSizer->Add(numero1, 1, wxEXPAND | wxALL, 10 );
        
        // Bottone OK
        wxButton* ok = new wxButton(panel, wxID_OK, wxT("OK"));
        wxButton* cancel = new wxButton(panel, wxID_CANCEL);
        wxButton* help = new wxButton(panel, wxID_HELP);
        
        wxStdDialogButtonSizer* buttonSizer = new wxStdDialogButtonSizer;
        
        buttonSizer->AddButton(ok);
        buttonSizer->AddButton(cancel);
        buttonSizer->AddButton(help);
        buttonSizer->Realize();
                
        mainSizer->Add( textSizer,   0, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
        mainSizer->Add( buttonSizer, 0, wxALIGN_CENTER_VERTICAL | wxALIGN_CENTER_HORIZONTAL | wxALL, 5 );
        
        // PER ME UN PROBLEMA STA QUA!!!
        mainSizer->Fit( this );
        mainSizer->SetSizeHints( this );
        
        panel->SetSizer( mainSizer );
         
        // Icona del programma
        SetIcon(wxICON(girandola32));
        
	CreateStatusBar(2);
	SetStatusText( wxT( "Scritta statusbar di benvenuto!" ), 0 );
        SetStatusText(wxT( "---" ), 1 );
}
Help me, please! Thx
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: Problema con i wxSizers

Messaggio da Dott104 »

Nessuno che mi sa risolvere il problema???

Se non avete voglia di leggere tutto il codice, mi indicate qualche guida in ita (di eng me ne sono lette tante) semplice semplice che spieghi come fare??? :P
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: Problema con i wxSizers

Messaggio da bite »

Non so se sia questo il problema, comunque dando un occhiata a qualcosa che avevo scritto io vedo che io chiamo prima SetSizer e poi Fit e SetSizeHints, prova così e fammi sapere.
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: Problema con i wxSizers

Messaggio da bite »

dott104 ha scritto: Nessuno che mi sa risolvere il problema???

Se non avete voglia di leggere tutto il codice, mi indicate qualche guida in ita (di eng me ne sono lette tante) semplice semplice che spieghi come fare??? :P
In Inglese c'è qui il libro "Cross-Platform GUI Programming with wxWidgets".
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: Problema con i wxSizers

Messaggio da Dott104 »

Grazie, lo stavo già usando!!!

Cmq finalmente ho capito dove stava lo sbaglio!

Gestivo male l'annidamento dei sizers e degli elementi!

Leggendo meglio il libro ho capito che "tutti" i componenti devono avere un wxPanel come parent e giorcare gli orientamenti e posizione tramite vari sizers!

Ecco lo stato attuale della mia applicazione:

Immagine

Come mia prima creazione non mi lamento! Ora la sto amalgamando al codice già scritto! :D
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: Problema con i wxSizers

Messaggio da bite »

dott104 ha scritto: Grazie, lo stavo già usando!!!

Cmq finalmente ho capito dove stava lo sbaglio!

Gestivo male l'annidamento dei sizers e degli elementi!

Leggendo meglio il libro ho capito che "tutti" i componenti devono avere un wxPanel come parent e giorcare gli orientamenti e posizione tramite vari sizers!
Io ho un sacco di widgets che non stanno su un panel e vanno bene lo stesso.
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: Problema con i wxSizers

Messaggio da Dott104 »

bite ha scritto:
dott104 ha scritto: Grazie, lo stavo già usando!!!

Cmq finalmente ho capito dove stava lo sbaglio!

Gestivo male l'annidamento dei sizers e degli elementi!

Leggendo meglio il libro ho capito che "tutti" i componenti devono avere un wxPanel come parent e giorcare gli orientamenti e posizione tramite vari sizers!
Il parent di questi componenti sono del frame??? Sul libro dice che questo compito è del panel, il frame si occupa principalmente di finestre ed invece il panel di controlli! Poi bho!

Io ho un sacco di widgets che non stanno su un panel e vanno bene lo stesso.
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti