Visualizzazione dei risultati da 1 a 9 su 9

Discussione: WxWidget e dev-c++

  1. #1

    WxWidget e dev-c++

    Buonasera a tutti
    Sono riuscito a importare queste librerie sul mio dev-c++; mi sono avvicinato a tutto ciò per avere la possibilità di creare applicazioni che girino sotto win senza dover installare per forza la jre (in java me la cavo abbastanza bene).

    Ora il c++ lo conosco bene il fatto è che mi stò addentrando nei meandri di queste wxwidget e devo ammettere che le perplessità non mancano.

    La domanda è: posso postare qui dubbi relativi a queste librerie o sono nel posto sbagliato? In tal caso potreste suggerirmi un forum possibilmente in ITALIANO in cui discuterne con gente esperta?

    Grazie a tutti

  2. #2

    Re: WxWidget e dev-c++

    Originariamente inviato da MarcoJava
    Ora il c++ lo conosco bene
    il tuo nick NON promette bene..
    ;-)

  3. #3
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    be sì posta pure qui.. :master:

  4. #4
    Mi rendo conto che il mio nick possa far pensare male!!

    Ok cominciamo:
    Ho scritto un applicazione minimale, giusto per comprendere a livello concettuale i costrutti del linguaggio:
    codice:
    class MyApp : public wxApp {
    public:
       virtual bool OnInit();
    };
    class MyFrame : public wxFrame {
    public:
        // dovrebbe essere il costruttore
        MyFrame(const wxString& title):wxFrame(NULL, wxID_ANY, title) {
                      
                      wxToolBar *toolBar = new wxToolBar(this, wxID_ANY, wxPoint(20,50), wxSize(100,100), 0, wxT("tool1"));
                      wxButton *bot = new wxButton(toolBar, wxID_OK, wxT("Chiudi"), wxDefaultPosition, wxDefaultSize);
                             }
    
        void chiudi(wxCommandEvent& event);
        private:
                DECLARE_EVENT_TABLE()
    };
    
    BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_BUTTON (wxID_OK, MyFrame::chiudi)
    END_EVENT_TABLE()
    
    
    IMPLEMENT_APP(MyApp)
    
    bool MyApp::OnInit() {
        
        MyFrame *frame = new MyFrame(_T("E' Dura"));
        frame->CenterOnScreen();
        frame->Show(TRUE);
    
        return TRUE;
    }
    
    void MyFrame::chiudi(wxCommandEvent& event) {
         Close();
    }
    DOMANDE:
    1) Non posso settare i parametri del frame nel suo costruttore (come logica dovrebbe imporre) tipo titolo dimensione ecc..? Se è possibile come posso fare?? Ho provato a inserire qualcosa come:
    codice:
    MyFrame(_T("E' Dura")):wxFrame(NULL, wxID_ANY, title);
    ma mi da errore.

    2) Perchè nella wxToolBar gli attributi wxPoint e wxSize sono totalmente ignorati? Per aggiungere una qualsiasi cosa (bottoni testo immagini ecc) a quest'ultima che metodo devo utilizzare?? L'unico modo con cui sono riuscito a inserire quel bottoncino è passargli come parent la toolbar... dovrebbe essere una vera porcheria... anche perchè se invece che wxDefaultPosition inserisco delle coordinate (volendo, per esempio, inserirlo a metà toolbar) il bottone scompare

    3) E' possibile avere una consolle (simile a quella di eclipse) che stampasse delle stringhe allo scatenarsi di dterminati eventi??
    Esempio:
    codice:
    void MyFrame::chiudi(wxCommandEvent& event) {
         cout <<"Che disastro";
    }
    Vorrei che alla pressione sul bottone la scritta "che disastro" venisse stampata da qualche parte...

    Grazie per la pazienza!

  5. #5
    Originariamente inviato da MarcoJava

    DOMANDE:
    1) Non posso settare i parametri del frame nel suo costruttore (come logica dovrebbe imporre) tipo titolo dimensione ecc..? Se è possibile come posso fare?? Ho provato a inserire qualcosa come:
    codice:
    MyFrame(_T("E' Dura")):wxFrame(NULL, wxID_ANY, title);
    ma mi da errore.
    Ehm... ti crei un construttore di MyFrame che ha la stessa lista di argomenti del construttore con argomenti di wxFrame e glieli passi..
    codice:
    class MyFrame: public wxFrame{
    	public:
    	MyFrame (wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"):
    	wxFrame(parent, id, title, pos, size, style,name){
    	}
    };

  6. #6
    Ok grazie della delucidazione ma per i punti 2 e 3 mi sai dire qualcosa??

    Grazie

  7. #7
    Molla wxDev-C++. è un progetto morto.
    Scaricati il wxPack (circa 250 Mb) che contiene le librerie aggiornate e già compilate più il wxFormBuilder per disegnare i form. Installa tutto, scaricati pure CodeBlocks.
    CodeBlocks organizza perfettamente i sorgenti ed è molto stabile. WxDev-C++ invece è un disastro.

    Ad ogni modo fa attenzione a non cominciare progetti che potrebbero essere importanti e lunghi. Quelle librerie non sono affatto un granché ed i tempi di compilazione sono biblici.

  8. #8
    Grazie Denis per i consigli, per quanto riguarda i progetti importanti e lunghi ti posso dire che a me interessa conoscere le basi per sviluppare piccoli progetti "amatoriali"! In java me la cavo abbastanza bene e conoscendo il c++ volevo palpare qualche libreria che mi consentisse di realizzare piccole GUI che girassero su diverse piattaforme senza dover necessariamente installare 100 mb di jre.

    In oni caso con wxPack posso realizzare la grafica da codice o devo per forza disegnarla con i tool? Piu volte mi è stato consigliato eclipse proprio perchè disegnando la grafica con i tools di netBeans il codice autogenerato era in gran parte inutile...

    Grazie mille

  9. #9
    Se vuoi puoi fare tutto a mano. Nel pack ci sono numerosi esempi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.