Barra laterale

programmazione:wxwidgets:risorse_binarie

Includere risorse binarie nella nostra app wxWidgets

Autore: Fabio Di Matteo
Ultima revisione: 05/12/2023 - 16:27

Ho creato il file della gui con wxFormbuilder (gui.xrc) poi tramite il binario wxrc l'ho convertito in un sorgente c++ (gui.cpp). Poi ho incluso gui.cpp e caricato l'apposita funzione che rende disponibili i widgets all'interno della nostra applicazione (InitXmlResource() contenuta in gui.cpp).

main.cc

#include "wx/wx.h" 
#include "wx/xrc/xmlres.h"
 
#include "gui.cpp" 
 
 
 
class MainFrame{
	public:
		wxFrame frame0;
		wxStaticText *label0;
		wxTextCtrl *text0;
		wxButton   *button0;
		void ShowFrame();
		void OnClickme(wxCommandEvent& event);
} ;
 
//L'implementazione della nostra classe responsabile del caricamento della nostra gui
void MainFrame::ShowFrame()
{
    //Ricavo il riferimento alla mia finestra principale
    wxXmlResource::Get()->LoadFrame(&frame0, NULL,  wxT("frame0"));
	label0 = XRCCTRL(frame0, "label0", wxStaticText);
	text0 = XRCCTRL(frame0, "text0", wxTextCtrl);
	button0 = XRCCTRL(frame0, "button0", wxButton);
	button0->Bind(wxEVT_BUTTON, &MainFrame::OnClickme, this);
	frame0.Show();
 
}
 
void MainFrame::OnClickme(wxCommandEvent& event)
{
	label0->SetLabel(text0->GetValue());
	puts(text0->GetValue());
}
 
 
 
 
class MyApp: public wxApp
{
    //questo metodo è presente in ogni oggetto wxApp
    // serve a lanciare la prima finestra e ad altre inizializzazioni.
    virtual bool OnInit();
}; 
bool MyApp::OnInit()
{
    wxXmlResource::Get()->InitAllHandlers(); //inizializziamo 
    InitXmlResource(); //in gui.cpp ottenuto con "wxrc gui.xrc -v -c -o gui.cpp"
    //wxXmlResource::Get()->Load(wxT("gui.xrc")); //se volessimo caricare la gui dal file xrc
 
    MainFrame *MainWin = new MainFrame(); //instanziamo la nostra classe responsabile
    MainWin->ShowFrame();			  //del caricamento della nostra gui 	
 
    return true;
}
 
 
//Macro che implementa la main() principale
IMPLEMENT_APP(MyApp)

Makefile

CPP = g++ 
OPTS =  `wx-config --cxxflags --libs`
 
all:
	wxrc gui.xrc -v -c -o gui.cpp
	$(CPP) main.cc -o wxtest $(OPTS)

programmazione/wxwidgets/risorse_binarie.txt · Ultima modifica: 06/12/2023 - 10:04 da Fabio Di Matteo