Der offizielle wxWidgets Thread

Scorcher24
Hi Folks !!
Ich habe erst vor kurzem die wxWidgets entdeckt und möchte hier mal ein paar Tips für alle angeben die helfen sollen erste Hürden zu nehmen.
1.) Vergesst VC. Nehmt DevC++. Der Vorteil: Ihr spart euch ca. 100MB Plattenplatz und ne 1/4 bis 1/2 Stunde zeit weil des kompilieren wegfällt.
DEVC++ bekomt Ihr hier: http://www.bloodshed.net/dev/devcpp.html (nur wegen der vollständigkeit wegen). Ich empfehle die version 4.9.8 da die eindeutig besser ist auch wenns ne beta ist. Zunge raus
Dann braucht Ihr die ImagLibs als DevPack: (notwendig für die wxwidgets) http://www.bloodshed.net/dev/packages/imagelib.html Nehmt den untersten link, die anderen sind broken.. unglücklich
Als nächstes braucht Ihr die wxWdigets als .devpack: http://www.upcase.de/devpack.html (ganz unten).

Die .devpack Dateien könnt Ihr einfach doppelklicken und installieren. (geht nur mit neuer version). Danach seid Ihr bereit für die wxW"idgets. Ein Template ist auch dabei - wenn ihr also jetzt auf neues Projekt geht, dann könnt Ihr bei GUI-Toolkit wxWindows auswählen und ein HelloWorld Sample ist auch dabei.
Ansonsten könnt Ihr euch noch bei http://wxWidgets.org die MSHElp oder HTMLHelp runterladen.
Am besten wir benutzen diesen universellen Thread um mal zu diskutieren was besser ist: MFC oder wxWidgets. Wobei man ja beides kombinieren kann.
Ich persönlich finde die wxWidgets besser. Sie sind schnell einfach und effizient, bis auf das gefrickel mit der Positionierung der Steuerelemente. Aber es ist ja eine IDE in Arbeit die das ändern soll. Wie denkt Ihr darüber ?? Lasst doch was hören.
rya. Scorcher24.
Hanfling
Kenn ich und rockt. :p

Nur unter Windows stört etwas die größe der Programme/DLL, wenn man das nur für was kleines macht.
Naja egal. smile
Scorcher24
Also damit habe ich keine Probleme. Welchen Compiler verwendest du denn bitte ??
Vielleicht hab ich ja noch nen Tip großes Grinsen .
rya. Scorcher24
Hanfling
Ist egal ob Mingw32 oder den von MS VC++.
Welche größe heißt bei dir 'kein Problem'?
Scorcher24
Naja wenn der Objektcode dreimal so gross ist wie die engebundenen Libs und header wirds kritisch meinste net ???? und es gibt so versteckte kommandowzeilensschalter, die da ein bisschen helfen oder es versauen.
rya. scorcher24
Scorcher24
Ich hab mal noch ein Problem:
(Net erschrecken wegen dem vielen Code großes Grinsen Zunge raus
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
BEGIN_EVENT_TABLE(edFrame, wxFrame)
    EVT_MENU(ID_Quit,  edFrame::OnQuit)
    EVT_MENU(ID_About, edFrame::OnAbout)
    EVT_BUTTON(ID_ClickMe, edFrame::OnClickMe)
END_EVENT_TABLE()
(...)
edFrame::edFrame(const wxString& title, const wxPoint& pos, const wxSize& size, long style)
       : wxFrame(NULL, -1, title, pos, size, style)
{
    // set the frame icon
    SetIcon(wxICON(mondrian));
    wxPanel   *edPanel    = new wxPanel(this); //Das Panel sorgt dafür dass dies wie ein SDI und nicht wie ein MDI aussieht !!
    wxListBox *edList     = new wxListBox(edPanel, ID_ListBox, wxPoint(0,0), wxSize(100,100));
    wxButton  *edButton   = new wxButton(edPanel, ID_ClickMe , wxString("Klick mich!"), wxPoint(100,100), wxDefaultSize);
(..)

Ich bevorzuge diese Methode der Objekterstellung da man ja meiner Meinung nach für jedes Fenster eine Klasse reicht. allerdings meckert mein devc++ ganz schön rum. er meldet immer "Unused Variable" für die Buttons und Panels und markiert Sie auch rot. das prog läuft zwar, aber kann es dadurch zu späteren Fehlern komen ?? Wie kann ich das beheben ?? wäre cool wenns ne antwort darauf gäbe.. aber ich glaub es kommen selten Leute vorbei..
rya. Scorcher24
Hanfling
Wie soll eine Variable die nicht benutzt wird Fehler verursachen? Zunge raus
Scorcher24
code:
1:
wxListBox *edList     = new wxListBox(edPanel, ID_ListBox, wxPoint(0,0), wxSize(100,100));

naja einmal wird sie bentzt.. aber es könnte ja durchaussein dass durch die methode speicherlecks u.ä. entstehen...

rya. Scorcher24
mrfypower
Hi,

erstma danke für den Tipp, habe mir alle Programme und Dateien runtergeladen die du hier anghegebn hast, jetzt bin ich bei devCPP auf:

Datei -> Neues Projekt -> Da inner Registerkarte auf GUI Toolkit gewechselt -> da war dann auch wxWindows da -> habe ich reingeladen, wollte es dann UNVERÄNDERT kompielieren und ausführen weil es ja ein Template mit hello World sample war -> beim Kompieleren steht dann unten:
C:\Dev-Cpp\Makefile.win
[Build Error] [Projekt1_private.res] Error 1

Ich weiß aber nicht warum, weil es ist ja ein template und ich habe wirklich nichts geändert, habe also die beiden dateien base.h und base.cpp, könnt ihr mir sagen woran es liegt, und kann man mit dem wxWidget auch so klene Spiele proggen so en Tetris oder so Augen rollen

MfG mrfypower
Hanfling
Für kleine 2D Spiele würde ich eher SDL nehmen, evtl. mit OpenGL.

Zeig mal den ausführlicheren Log vom Kompilieren.
mrfypower
Also hier ist das Log:

Compiler: Default compiler
Building Makefile: "C:\Dev-Cpp\Makefile.win"
Führt make... aus
make.exe -f "C:\Dev-Cpp\Makefile.win" all
g++.exe -c base.cpp -o base.o -I"C:/Dev-Cpp/include/c++" -I"C:/Dev-Cpp/include/c++/mingw32" -I"C:/Dev-Cpp/include/c++/backward" -I"C:/Dev-Cpp/include" -fno-rtti -fno-exceptions -fno-pcc-struct-return -fstrict-aliasing -Wall -D__WXMSW__ -D__GNUWIN32__ -D__WIN95__

windres.exe -i hello_private.rc -I rc -o hello_private.res -O coff

windres.exe: no resources

make.exe: *** [hello_private.res] Error 1

Ausführung beendet

mfg mrfypower
mrfypower
Naja vergesst das mit den Log, habe es nochmal installiert und es funzt jetzt alles^^,.

aber ich habe noch so en paar Probleme damit umzugehen, kennt ihr zufällig ein paar besipiele oder tutorials rund um wxWidgets?

Wäre echt dankbar

mfg mrfypower
Hanfling
Guck mal auf der Homepage davon.
Scorcher24
Naja is eigentlich ziemlich simpel... Allerdings bin ich auch an einigen Stellen am knabbern... Gibt es eigentlich kein ImageBox Ctrl ?? Ich hätte da echt verwendung für....
rya. Scorcher24
xpmstos
Zitat:
...um mal zu diskutieren was besser ist: MFC oder wxWidgets. Wobei man ja beides kombinieren kann.
Ich persönlich finde die wxWidgets besser. Sie sind schnell einfach und effizient, bis auf das gefrickel mit der Positionierung der Steuerelemente. Aber es ist ja eine IDE in Arbeit die das ändern soll. Wie denkt Ihr darüber ?? Lasst doch was hören.
rya. Scorcher24.


Hallo Scorcher24,

du hast recht damit, das man wxWidgets und die MFC's gleichzeitig verwenden kannst... Allerdings ist das nicht der Sinn der Sache.
Wir wollen doch extra die Widgets von wxWidgets verwenden um eine platformunabhängige GUI zu erhalten.

Das gestalten der GUI per hand ist schon ein wenig Zeitaufwändig, aber dafür gibt es doch den wxDesigner von Robert Roebling.

Mal schauen wann die erste wxWidgets-IDE für Windows fertig ist. Ich kann mich noch erinnern mal unter SuSE-Linux eine IDE für wxWidgets angetestet zu haben. Da bei SuSE (nur in der professional) ist schon ein C++-IDE, ich weiss denn Namen aber nicht mehr, lässt sich aber leicht im YaST2 finden. Und die hatte schon zu SuSE 8.1-Zeiten das wxWidgets 2.4.2 mit inbegriffen. Auch der Anwendungs-Wizard konnte damals schon wxWidgets-Anwendung erstellen.

mfg xpmstos
Scorcher24
Nun ja, ich persönlich benutze die MFC ja gar nicht. Ausserdem habe ich entdeckt dass ein Designer ja dabei ist, beim SourcePackage.
Mal noch ne andere Frage:
Hat einer schon mal die Widgets mit dem COdewarrior kompiliert ?? Bei nem Freund von mir macht das nämlich nur Probleme. Da sind 2 Fehler die wir nicht wegkriegen. also wenns einer von euch schon hat (vorkompiliert , am besten mit aktivierter DB und OpenGL Unterstützung, dann meldet euch bitte!!
thx und rya.
Scorcher24
xpmstos
Es gibt jetzt übrigens auch ein offizielles wxWidgets-Forum in dem sehr viel los ist. Der Niederländer Jörggen Bodde hat nach Absprache mit den wxWidgets-Maintainern Julian Smart und Vadim Zeitlin das Forum hier platziert: Offizielles wxWidgets Forum

Nach langjähriger Mailing-List-Erfahrung und Entwicklung des Code Repository Tools wxCRP ist Jörggen ein durchaus kompetenter Administrator für das offizielle Forum.

Für Einsteiger empfehle ich desweiteren die von dem Schweizer Otto Wyss geleiteten Projekte wxGuide und wxCode. Der wxGuide zeigt Platformunabhängigen Code für die beispielhafte wxGuide-Demo. wxCode ist eine Sammlung verschiedenster Code-Snippets für wxWidgets. Diese sollte man gleich in seinem Code-Repository vom wxCRP verstauen. So lassen sich die ersten wxWidgets-Anwendungen durchschaubarer und verständlicher erstellen.

gruß
xpm
Scorcher24
Ich hab ein neues Problem mit den wxWidges:
SubMenus.
Also ein menu wo dann neue aufklappen. Hat jemand von euch das schon mal gemacht ?
Habs mal mit wxMenuItem() versucht aber das hat nicht gefunzt.
rya.
Scorcher24
Pierro le Fou
Hi,
ich hab auch ein Problem mit den wxWidgets, allerdings etwas anderer Natur, ich krieg dieses wxTemplate einfach nicht zum fehlerfreien compilen.
Unzählige DevPaks runtergeladen, aber nix funktioniert.
Sogar das hier habe ich ausprobiert aber ohne Erfolge.

Was mir helfen würde, wäre eine Schritt für Schritte Erklärung wie ich überhaupt etwas zum laufen bekommen.
Bin echt verzweifelt.

thx
Pierro le Fou
Okay vergesst mal was ich gepostet hab, es geht wundersamer weise jetzt.