.ui in .cpp und h konvertieren



  • Hallo Leute!

    1. Vielleicht eine blöde Frage, aber hat jemand ein Tutorial wie man ein .ui file in .cpp und.h umwandelt. Ich habe schon einige Tutorials gefunden, leider wurde ich aus diesen Tutorials leider garn nicht schlau.

    Ich bin ein Ubuntu-User und Programmiere mit Kdevelop.

    Ich bin auf wxWidget von Visual C++ umgestiegen und muss ehrlich zugeben, habe da einige Startproblemme.

    2. Hallo kann mir bitte jemand sagen, was ich da falsch gemacht habe??

    Also ich habe ein Hello-Programm einfach unmgeschrieben, sprich einen Button eingefühgt, leider bekomme ich da einige Fehler heraus.

    compiling sim.cpp (g++)
    /home/stefan/Programmierung/sim/src/sim.cpp:8: error: ‘ID_HelloButton’ was not declared in this scope
    /home/stefan/Programmierung/sim/src/sim.cpp:8: error: ‘MyFrame’ was not declared in this scope
    /home/stefan/Programmierung/sim/src/sim.cpp:8: error: expected primary-expression before ‘(’ token
    /home/stefan/Programmierung/sim/src/sim.cpp:8: error: ‘ID_HelloButton’ was not declared in this scope
    /home/stefan/Programmierung/sim/src/sim.cpp:8: error: ‘MyFrame’ was not declared in this scope
    /home/stefan/Programmierung/sim/src/sim.cpp:8: error: expected primary-expression before ‘)’ token
    /home/stefan/Programmierung/sim/src/sim.cpp:8: error: expected primary-expression before ‘)’ token
    /home/stefan/Programmierung/sim/src/sim.cpp: In constructor ‘simFrame::simFrame(const wxString&, const wxPoint&, const wxSize&)’:
    /home/stefan/Programmierung/sim/src/sim.cpp:27: error: ‘ID_HelloButton’ was not declared in this scope
    /home/stefan/Programmierung/sim/src/sim.cpp:27: warning: unused variable ‘helloButton’
    /home/stefan/Programmierung/sim/src/sim.cpp: At global scope:
    /home/stefan/Programmierung/sim/src/sim.cpp:61: error: ‘MyFrame’ has not been declared
    make[1]: *** [sim.o] Fehler 1
    make[1]: Das Target »all« wurde wegen Fehlern nicht aktualisiert.
    make[1]: Verlasse Verzeichnis '/home/stefan/Programmierung/sim/debug/src'
    make: *** [all-recursive] Fehler 1
    make: Das Target »all« wurde wegen Fehlern nicht aktualisiert.
    make[1]: Betrete Verzeichnis '/home/stefan/Programmierung/sim/debug'
    make[1]: Für das Ziel »all-am« ist nichts zu tun.
    make[1]: Verlasse Verzeichnis '/home/stefan/Programmierung/sim/debug'
    *** Exited with status: 2 ***
    

    Mein Programm ist:

    #include <wx/wx.h>
    #include <wx/button.h>
    #include "sim.h"
    
    BEGIN_EVENT_TABLE( simFrame, wxFrame )
    	EVT_MENU( Menu_File_Quit, simFrame::OnQuit )
    	EVT_MENU( Menu_File_About, simFrame::OnAbout )
    	EVT_BUTTON( ID_HelloButton, MyFrame::OnHello )
    END_EVENT_TABLE()
    
    IMPLEMENT_APP(simapp)
    
    bool 
    simapp::OnInit()
    {
    	simFrame *frame = new simFrame( wxT( "Hello World" ), wxPoint(50,50), wxSize(450,340) );	
    	frame->Show(TRUE);
    	SetTopWindow(frame);
    	return TRUE;
    } 
    
    simFrame::simFrame( const wxString& title, const wxPoint& pos, const wxSize& size )
    	: wxFrame((wxFrame *)NULL, -1, title, pos, size)
    {
    	wxPanel *panel1 = new wxPanel(this,-1);
    	wxButton *helloButton = new wxButton(panel1,ID_HelloButton,wxT("Hello"),wxPoint(30,30));
    
    	wxBoxSizer *frameSizer = new wxBoxSizer(wxVERTICAL);
    	frameSizer->Add(panel1,1,wxEXPAND);
    	this->SetSizer(frameSizer);
    
    	wxMenu *menuFile = new wxMenu;
    
    	menuFile->Append( Menu_File_About, wxT( "&About..." ) );
    	menuFile->AppendSeparator();
    	menuFile->Append( Menu_File_Quit, wxT( "E&xit" ) );
    
    	wxMenuBar *menuBar = new wxMenuBar;
    	menuBar->Append( menuFile, wxT( "&File" ) );
    
    	SetMenuBar( menuBar );
    
    	CreateStatusBar();
    	SetStatusText( wxT( "Welcome to Kdevelop wxWidgets app!" ) );
    }
    
    void 
    simFrame::OnQuit( wxCommandEvent& WXUNUSED( event ) )
    {
    	Close(TRUE);
    }
    
    void 
    simFrame::OnAbout( wxCommandEvent& WXUNUSED( event ) )
    {
    	wxMessageBox( wxT( "This is a wxWidgets Hello world sample" ),
    			wxT( "About Hello World" ), wxOK | wxICON_INFORMATION, this );
    }
    
    void MyFrame::OnHello(wxCommandEvent& WXUNUSED(event))
    {
    	puts("World");
    }
    

    Also ich wäre für jede Hielfe Dankbar!

    Gruss Stefan



  • Ich kenne .ui Dateien nur von Qt und nicht von wxWdigets. Bist du sicher, dass das passt?



  • also in KdevelopDesigner und QT kann man ja Widget Projekt erstellen, dann habe ich ja meine .ui datei.



  • swunder schrieb:

    also in KdevelopDesigner und QT kann man ja Widget Projekt erstellen, dann habe ich ja meine .ui datei.

    Ja. Und diese kannst du nicht mit wxwidgets benutzen.



  • das heist ich kann den Designer nicht zur wxWidget Programmierung benutzen??



  • Es gibt spezielle Designer für wxWidgets. Unter anderem den wxFormBuilder.


  • Mod

    swunder schrieb:

    das heist ich kann den Designer nicht zur wxWidget Programmierung benutzen??

    Nein, der ist afaik nur für QT.
    Es gibt ähnliche Programme für wxWidgets, bei Code::Blocks z.B. ist einer direkt in die IDE eingebaut,
    ansonsten gibt es diverse Programme (wxFormBuilder z.b.).
    DialogBlocks soll es auch als Plugin für VS geben, hab ich aber keine Erfahrung mit.


Anmelden zum Antworten