wxWidgets Tutorial Part I: Einführung in wxWidgets
-
Freak_Coder schrieb:
Kannst du was zu dem zweiten Argument von wxSizer::Add(.,int proportion = 0,.,.) erzählen. Werde irgendwie nicht ganz schlau daraus, was es genau macht.
Das Argument bezieht sich nur auf wxBoxSizer. Es bedeutet dass das Childfenster seine Größe in einer gewissen Proportion
ändern kann, aber nur in die Ausrichtung des BoxSizers (wxHORIZONTAL/wxVERTICAL).Die wxWidgets Dokumentation sagt folgendes darüber:
proportion
Although the meaning of this parameter is undefined in wxSizer, it is used in wxBoxSizer to indicate if a child of a sizer can change its size in the main orientation of the wxBoxSizer - where 0 stands for not changeable and a value of more than zero is interpreted relative to the value of other children of the same wxBoxSizer. For example, you might have a horizontal wxBoxSizer with three children, two of which are supposed to change their size with the sizer. Then the two stretchable windows would get a value of 1 each to make them grow and shrink equally with the sizer's horizontal dimension.
-
Jupp, lesenswert. Ich hab auch noch ne Frage:
#if wxUSE_MENUS #if wxUSE_STATUSBAR ...
Wozu sind diese Abfragen? Wenn ein OS z.B. keinen Statusbar darstellen kann, dann wird das doch automatisch ignoriert, oder?
-
Ok ...
Noch ne Frage:1.) Wie läuft das intern ab, wie ist das implementiert das wxWidgets ohne eine main()-Funktion auskommt und in OnInit() anfängt ???
-
Freak_Coder schrieb:
Ok ...
Noch ne Frage:1.) Wie läuft das intern ab, wie ist das implementiert das wxWidgets ohne eine main()-Funktion auskommt und in OnInit() anfängt ???
Makromagie
@phlox81 ich hatte dir doch gesagt das du das schreiben sollst Hast wohl vergessen
BR
Vinzenz
-
kynarion schrieb:
Jupp, lesenswert. Ich hab auch noch ne Frage:
#if wxUSE_MENUS #if wxUSE_STATUSBAR ...
Wozu sind diese Abfragen? Wenn ein OS z.B. keinen Statusbar darstellen kann, dann wird das doch automatisch ignoriert, oder?
Genau dafür ist das da. Man kann diese Flags aber auch selber definieren, so das man diverse Einstellungen in wxWidgets vornehmen kann.
-
Das Buch "Cross-Platform GUI Programming with wxWidgets" gibt es kostenlos und legal zum Download als PDF.
http://www.phptr.com/content/images/0131473816/downloads/0131473816_book.pdf
-
Hallo,
ich habe dieses Programm Versuch in Code::Blocks zu starten leider funktioniert es nicht! Ich kriege SEHR viele Errors heraus!
Woran kann es liegen!Ich habe die WX Libary in Projekt-> Build Options -> Costum variables -> add den Link zu der Bibleothek $(link) eingegeben.
Es kommen trotzdem vielle Fehler!
Gruss Stefan
-
yo sieht bei mir ähnlich aus:
Linker-Vorgang läuft...
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _free bereits in LIBCD.lib(dbgheap.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _exit bereits in LIBCD.lib(crt0dat.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _malloc bereits in LIBCD.lib(dbgheap.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _realloc bereits in LIBCD.lib(dbgheap.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _memmove bereits in LIBCD.lib(memmove.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _tolower bereits in LIBCD.lib(tolower.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __vsnprintf bereits in LIBCD.lib(vsnprint.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _calloc bereits in LIBCD.lib(dbgheap.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _strncpy bereits in LIBCD.lib(strncpy.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _abort bereits in LIBCD.lib(abort.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __snprintf bereits in LIBCD.lib(snprintf.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fflush bereits in LIBCD.lib(fflush.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _sprintf bereits in LIBCD.lib(sprintf.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __close bereits in LIBCD.lib(close.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __write bereits in LIBCD.lib(write.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __commit bereits in LIBCD.lib(commit.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __get_osfhandle bereits in LIBCD.lib(osfinfo.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __CrtSetDbgFlag bereits in LIBCD.lib(dbgheap.obj) definiert
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fclose bereits in LIBCD.lib(fclose.obj) definiert
LINK : warning LNK4098: Standardbibliothek "MSVCRTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULT:Bibliothek verwenden
wxmsw26d_core.lib(app.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__InitCommonControls@0
wxmsw26d_core.lib(window.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp___TrackMouseEvent@4
wxmsw26d_core.lib(statbr95.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__CreateStatusWindowA@16
wxmsw26d_core.lib(spinbutt.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__CreateUpDownControl@48
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_Create@20
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_Destroy@4
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_GetImageCount@4
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_GetIconSize@12
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_Add@12
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_AddMasked@12
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_ReplaceIcon@12
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_Replace@16
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_Remove@8
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_Draw@24
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_SetBkColor@8
wxmsw26d_core.lib(imaglist.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__ImageList_GetIcon@12
wxmsw26d_core.lib(uuid.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__UuidToStringA@8
wxmsw26d_core.lib(uuid.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__RpcStringFreeA@4
wxmsw26d_core.lib(uuid.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__UuidCreate@4
wxmsw26d_core.lib(uuid.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __imp__UuidFromStringA@8
Debug/moinse.exe : fatal error LNK1120: 20 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.tester.exe - 40 Fehler, 1 Warnung(en)
-
is es auch für Linux?
mfg
owner
-
Owner schrieb:
is es auch für Linux?
mfg
ownerwxGTK läuft natürlich auch unter Linux.
Steht auch in Absatz 2.1
-
Guten Morgen,
ich versuche mich auch gerade in C++ (wegen dem Studium) und habe von wxWidgets gehört. Ich nutze den DevC++ und habe versucht eine "HelloWorld" Tutorial einzugeben. Es scheitert aber schon am
#include "wx/wx.h"
Ich habe leider noch keine Anleitung gefunden, wie und wo ich im Compiler die Verzeichnisse richtig einstelle. Kann mir da vielleicht jemand weiter helfen?
Vielen Dank im voraus
lg Baseball
-
Wenn es richtig eingerichtet ist, muß die Zeile
#include <wx/wx.h>
heißen.
Und schmeiß DevCpp weg!!!!!!!!!!!!!!!!!!!! Es ist veraltet und wird nicht weiter entwickelt. Man, ladet euch doch mal aktuelle Entwicklungswerkzeuge runter! Z.B. VisualC++2005 Express plus PSDK.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-143003.html Dann kannst du dich auch hier nach dem Artikel richten und wxPack downloaden, das richtet dir dann alles ein.
-
Gibt es das erwähnte eBook aus einem der vorangegangenen Beiträge noch?
Wenn das jemand noch hat und uppen würde, das wäre nett.
Der alte Link ist nämlich tot.*** EDIT ***
Es gibt das erwähnte eBook aus einem der vorangegangenen Beiträge noch!
Wenn das jemand noch hat und uppen würde, das wäre unnötig.
Der alte Link ist nämlich i.O.
-
Der alte Link ist nämlich tot.
Nööööö.
-
Jetzt ist es wirklich down. Habs hochgeladen:
http://rapidshare.com/files/49694550/Cross-Platform_GUI_Programming_with_wxWidgets.pdf.html
-
Hallo,
habs gerade auf meinem EeePC900A unter Ubuntu 8.04 mit g++ 4.2.4 und wx2.8
kompiliert und musste dafuer folgende zwei Zeilen in der main.cpp in Schoenschrift verfassen.main.cpp:83
txtctrl = new wxTextCtrl(this,-1,wxString((wxChar*)(""), size_t(0)),wxDefaultPosition,wxDefaultSize,wxTE_MULTILINE);
main.cpp:130
txtctrl->AppendText(dlg.GetValue() + wxString( (wxChar*)("\n"), size_t(1)) );
Danach hat er es erst durchkompiliert und es lief.
btw; Schoener Artikel und gutes Beispiel, Dankegraetz
-
Von Artchi
Wenn es richtig eingerichtet ist, muß die Zeile
#include <wx/wx.h>
heißen.
Und schmeiß DevCpp weg!!!!!!!!!!!!!!!!!!!! Es ist veraltet und wird nicht weiter entwickelt. Man, ladet euch doch mal aktuelle Entwicklungswerkzeuge runter! Z.B. VisualC++2005 Express plus PSDK.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-143003.html Dann kannst du dich auch hier nach dem Artikel richten und wxPack downloaden, das richtet dir dann alles ein.Ich glaub ich greif auch wieder zu DevC++ zurück weil es keine vrnüptigen anleitungen oder so was gibt wie man das in Code::Blocks einfügen kann...
-
Musst du halt mal selber suchen, bist ja nicht der erste der C::B für wx nutzt.
Eigentlich musst du nur die richtigen Pfade setzen, dann klappts auch.
Ansonsten musste halt mal im Compiler/IDE Forum nachfragen.
Oder unter forums.codeblocks.org
-
http://wiki.wxwidgets.org/CodeBlocks_Setup_Guide
http://www.speakingx.com/blog/2008/04/24/codeblocks-wxwidgets-setup
http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.6.1_to_develop_Code::Blocks_(MSW)Ich weiß wirklich nicht wo das problem liegt? Es dauert nur paar sekunden wxWidgets mit Code::Blocks einzustellen. Ist ja in jeder IDE das selbe, include/lib dir zu wx ordner einstellen und fertig.
-
Also wenn was in C::B nicht funktioniert, müsste es eigentlich an der wxWidgets-Kompilierung liegen, also warum nicht wxPack herunterladen?