<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Andere GUIs - Qt, GTK+, wxWidgets]]></title><description><![CDATA[Alternative GUI-Libs werden immer geläufiger, diese Rubrik bietet Qt, gtkmm, GTK+, wxWidgets und   Co. eine Heimat.]]></description><link>https://www.c-plusplus.net/forum/category/41</link><generator>RSS for Node</generator><lastBuildDate>Sun, 14 Jun 2026 16:17:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/category/41.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 Aug 2024 05:35:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[[HOWTO] Welches Toolkit für GUIS?]]></title><description><![CDATA[@Erhard-Henkes sagte in [HOWTO] Welches Toolkit für GUIS?:

ImGUI kenne ich bisher nicht. Kannst du hierzu weiter ausführen?

Ich habe mir bisher nur ImGui angeschaut und es ist ein kleines feines GUI Framework. Viel weiß ich daher nicht.
Aber es gibt eine hübsche Webseite hierzu:
https://github.com/ocornut/imgui
]]></description><link>https://www.c-plusplus.net/forum/topic/230583/howto-welches-toolkit-für-guis</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/230583/howto-welches-toolkit-für-guis</guid><dc:creator><![CDATA[Quiche Lorraine]]></dc:creator><pubDate>Mon, 26 Aug 2024 05:35:42 GMT</pubDate></item><item><title><![CDATA[Artikel zu wxWidgets und GTKmm im Magazin]]></title><description><![CDATA[Sehr schön!
]]></description><link>https://www.c-plusplus.net/forum/topic/159237/artikel-zu-wxwidgets-und-gtkmm-im-magazin</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/159237/artikel-zu-wxwidgets-und-gtkmm-im-magazin</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 02 Aug 2012 19:00:07 GMT</pubDate></item><item><title><![CDATA[DirectXMath Einstieg -&gt; Verständnisfrage]]></title><description><![CDATA[Ich arbeite gerade an DirectX und nutze zum ersten mal die DirectXMath Funktionen. Die SIMD Unterstützung ist neu für mich. Das Flag _XM_SSE_INTRINSICS_ ist entsprechend gesetzt.
Von daher wollte ich fragen ob der folgende Code so ok ist:
float GetDistance2D(const DirectX::XMVECTOR&amp; P1, const DirectX::XMVECTOR&amp; P2)
{
    DirectX::XMVECTOR delta = DirectX::XMVectorSubtract(P1, P2);
    DirectX::XMVECTOR length = DirectX::XMVector2Length(delta);

    return DirectX::XMVectorGetX(length);
}

Mein gedankliches Problem: DirectX::XMVECTOR ist ein 4D Vektor, aber ich brauche nur die 2D Distanz. Wäre also der folgende Code schneller?
float GetDistance2D(const DirectX::XMVECTOR&amp; P1, const DirectX::XMVECTOR&amp; P2)
{
    float P1x, P1y, P1w;
    float P2x, P2y, P2w;

    // Bestimme XY von P1
    P1w = DirectX::XMVectorGetW(P1);
    if (P1w != 0.0f &amp;&amp; P1w != 1.0f)
    {
        P1x = DirectX::XMVectorGetX(P1) / P1w;
        P1y = DirectX::XMVectorGetY(P1) / P1w;
    }
    else
    {
        P1x = DirectX::XMVectorGetX(P1);
        P1y = DirectX::XMVectorGetY(P1);
    }
    // Bestimme XY von P2
    P2w = DirectX::XMVectorGetW(P2);
    if (P2w != 0.0f &amp;&amp; P2w != 1.0f)
    {
        P2x = DirectX::XMVectorGetX(P2) / P2w;
        P2y = DirectX::XMVectorGetY(P2) / P2w;
    }
    else
    {
        P2x = DirectX::XMVectorGetX(P2);
        P2y = DirectX::XMVectorGetY(P2);
    }
    // Berechne nun den Abstand
    float DiffX = P1x - P2x;
    float DiffY = P1y - P2y;

    return sqrt(DiffX * DiffX + DiffY * DiffY);
}

]]></description><link>https://www.c-plusplus.net/forum/topic/355336/directxmath-einstieg-verständnisfrage</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355336/directxmath-einstieg-verständnisfrage</guid><dc:creator><![CDATA[Quiche Lorraine]]></dc:creator><pubDate>Fri, 01 Aug 2025 06:27:11 GMT</pubDate></item><item><title><![CDATA[Crash beim Versuch mit Qt zu drucken]]></title><description><![CDATA[@Quiche-Lorraine Nein, hab ich nicht.
]]></description><link>https://www.c-plusplus.net/forum/topic/355233/crash-beim-versuch-mit-qt-zu-drucken</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355233/crash-beim-versuch-mit-qt-zu-drucken</guid><dc:creator><![CDATA[Tyrdal]]></dc:creator><pubDate>Tue, 15 Apr 2025 12:32:31 GMT</pubDate></item><item><title><![CDATA[Anfänger: Möchte Geany mit Qt verwenden]]></title><description><![CDATA[ ... und ich dachte mit einem einfachen Editor Stolperfallen schon mal zu reduzieren.
Ja, das Compilieren und Linken sind Neuland für mich, aber ich dachte durch ein einbinden von Qt käme ich diesem ganzen Prozess auch schon etwas näher. Jetzt muss ich mal neu überlegen, wie ich das Thema angehe.
Vielen Dank für Eure Infos! Wünsche Euch eine schöne Weihnachtszeit !
]]></description><link>https://www.c-plusplus.net/forum/topic/355174/anfänger-möchte-geany-mit-qt-verwenden</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355174/anfänger-möchte-geany-mit-qt-verwenden</guid><dc:creator><![CDATA[GiJay]]></dc:creator><pubDate>Mon, 23 Dec 2024 10:48:37 GMT</pubDate></item><item><title><![CDATA[Qt Doppelpfeil (&lt;-&gt;) zur Größenanderung]]></title><description><![CDATA[@firefly 
Danke!
]]></description><link>https://www.c-plusplus.net/forum/topic/355111/qt-doppelpfeil-zur-größenanderung</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/355111/qt-doppelpfeil-zur-größenanderung</guid><dc:creator><![CDATA[Helmut.Jakoby]]></dc:creator><pubDate>Mon, 21 Oct 2024 15:40:31 GMT</pubDate></item><item><title><![CDATA[Ist SDL3 ausgereift ?]]></title><description><![CDATA[@Mathuas sagte in Ist SDL3 ausgereift ?:

ch spiele mit den Gedanken, mich in SDL3 einzuarbeiten.
Macht dies gegenwärtig schon Sinn oder ist SDL3 noch eine zu grosse Baustelle, in der sich noch viel ändern kann ?
Es wäre ja schade, da programmiert  man etwas un 1/2 Jahr später läuft das Programm nicht mehr, weil sich Funktionen in der SDL-lib geändert haben.
Ich wollte mal mit GTK4 beginnen, da wurde mir wegen den vielen Kinderkrankheiten abgeraten.

Wenn du überlegst, dich in SDL3 einzuarbeiten, ist das eine berechtigte Frage, besonders angesichts der möglichen Instabilitäten und Änderungen, die bei einer neuen Version einer Bibliothek auftreten können. Hier sind einige Punkte, die du berücksichtigen könntest:
Reife und Stabilität der Bibliothek: SDL3 ist zwar eine Weiterentwicklung von SDL2, aber da es sich um eine relativ neue Version handelt, ist es möglich, dass sich noch einiges ändert. Wenn SDL3 aktuell noch in einer Beta-Phase oder als Release Candidate vorliegt, könnten API-Änderungen und Fehlerkorrekturen durchaus noch häufig auftreten. Daher besteht das Risiko, dass ein Programm, das heute funktioniert, in ein paar Monaten Anpassungen benötigt.
Rückwärtskompatibilität: SDL ist in der Vergangenheit recht gut darin gewesen, Rückwärtskompatibilität zu bewahren, aber das bedeutet nicht, dass dies auch immer so bleiben wird. Bei einem großen Versionssprung wie von SDL2 zu SDL3 könnten einige Funktionen veraltet sein oder sich ändern. Es wäre ratsam, die Dokumentation und die Roadmap von SDL3 genau zu prüfen, um zu verstehen, welche Änderungen zu erwarten sind.
Community und Support: Ein weiterer wichtiger Aspekt ist die Community und der Support, den du für SDL3 erwarten kannst. Wenn die Bibliothek bereits von einer aktiven Community unterstützt wird und es regelmäßige Updates und Feedback-Schleifen gibt, könnte das ein gutes Zeichen sein. Allerdings ist zu beachten, dass eine neue Version oft erst mit der Zeit eine breite Unterstützung und umfangreiche Ressourcen (wie Tutorials, Beispiele und Forenbeiträge) erhält.
Vergleich zu anderen Bibliotheken: Wenn du SDL3 mit anderen Bibliotheken wie GTK4 vergleichst, solltest du auch die spezifischen Anforderungen deines Projekts und deine Zielplattformen in Betracht ziehen. GTK4 und SDL haben unterschiedliche Anwendungsbereiche und Zielgruppen, daher ist die Wahl stark vom Projekt und den gewünschten Features abhängig.
Langfristige Planung: Wenn du ein Projekt langfristig pflegen möchtest und Stabilität wichtig ist, könnte es sinnvoller sein, zunächst auf eine stabilere Version wie SDL2 zurückzugreifen und SDL3 im Auge zu behalten, bis es ausgereifter ist. So kannst du in Ruhe den Übergang planen und dein Wissen auf einer stabilen Basis aufbauen.
]]></description><link>https://www.c-plusplus.net/forum/topic/354567/ist-sdl3-ausgereift</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354567/ist-sdl3-ausgereift</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Mon, 26 Aug 2024 00:21:55 GMT</pubDate></item><item><title><![CDATA[[GTK2] GTK_WINDOW_GET_CLASS(),  GTK_WINDOW_CLASS(), etc.]]></title><description><![CDATA[Wen man GTK-Apps entwickelt, kommt man jemals mit diesen oben erwähnten Macros in Kontakt ?
Als Beispiel habe ich mal GTK_WINDOW genommen, aber dies gibt es für jedes einzelne Widget.
GTK_WINDOW() ist mir bekannt, für was man dies braucht. aber die anderen Makros habe ich nie in einem Beispiel gesehen.
#define GTK_TYPE_WINDOW			(gtk_window_get_type ())
#define GTK_WINDOW(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_WINDOW, GtkWindow))
#define GTK_WINDOW_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_WINDOW, GtkWindowClass))
#define GTK_IS_WINDOW(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_WINDOW))
#define GTK_IS_WINDOW_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WINDOW))
#define GTK_WINDOW_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_WINDOW, GtkWindowClass))

Einer eine Idee, für was man die gebrauchen kann ?
]]></description><link>https://www.c-plusplus.net/forum/topic/354742/gtk2-gtk_window_get_class-gtk_window_class-etc</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354742/gtk2-gtk_window_get_class-gtk_window_class-etc</guid><dc:creator><![CDATA[Mathuas]]></dc:creator><pubDate>Tue, 09 Jul 2024 07:13:04 GMT</pubDate></item><item><title><![CDATA[Drucken aus Win Forms mit C++]]></title><description><![CDATA[@Jreichmuth Ich kenne mich mit Win Forms nicht aus. Aber, wenn du C++ kannst und unter Windows drucken möchtest, würde ich die MS Doku zur entsprechenden API empfehlen: https://learn.microsoft.com/en-us/windows/win32/printdocs/printdocs-printing
Wenn du kein C++ kannst, würde ich erstmal empfehlen allgemein C++ zu lernen, dazu gibt es viel Literatur 
]]></description><link>https://www.c-plusplus.net/forum/topic/354628/drucken-aus-win-forms-mit-c</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354628/drucken-aus-win-forms-mit-c</guid><dc:creator><![CDATA[Schlangenmensch]]></dc:creator><pubDate>Thu, 25 Apr 2024 14:35:16 GMT</pubDate></item><item><title><![CDATA[SDL2 ohne SDL_Init()]]></title><description><![CDATA[@omggg
Dann ignorier das doch einfach, niemand zwingt dich zu antworten. Und deine Antwort hat auch genau 0 fachliche Relevanz.
]]></description><link>https://www.c-plusplus.net/forum/topic/354566/sdl2-ohne-sdl_init</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354566/sdl2-ohne-sdl_init</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 28 Feb 2024 21:08:09 GMT</pubDate></item><item><title><![CDATA[Win(BCB)C++File mit Assemblercode in QT&#x2F;Unix Projekt einbauen]]></title><description><![CDATA[@Finnegan super, mensch da dast du dir aber arbeit gemacht. Da ich viele Ass-Teile habe ist es mir zu aufwendig. Ursprünglich wollte ich mal was schnelles haben und LIb mit variablen Zifferanzahlen, aber zugunsten der Handelbarkeit kann auf schnell verzichten. Wobei ich auch keinen Speedtest mit einer externen bigint library gemacht habe. Ich muß nur noch rausfinden, ob eine solche auch dynamische Variablenlängen zulässt. Außerdem könne ich mit QT/GCC dann auch ausser Linux/X64 evtl. noch andere Systeme zu compilien. (Falls ich überhaupt so weit komme. Das BCB/2008 auf Win7 Projekt war mein letztes größeres. Es hat sich in 15 Jahren soviel verändert, dass mir scheint, ich muß trotz 30Jahren Computerei mal wieder neu anfangen).
@Finnegan kann es sein, dass du spass am Programmieren hast? Vielleich auch bei meinen Projekt mitmachen? Kannst mir dann mal Mailen.
]]></description><link>https://www.c-plusplus.net/forum/topic/354501/win-bcb-c-file-mit-assemblercode-in-qt-unix-projekt-einbauen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354501/win-bcb-c-file-mit-assemblercode-in-qt-unix-projekt-einbauen</guid><dc:creator><![CDATA[RudiMBM]]></dc:creator><pubDate>Thu, 25 Jan 2024 15:15:48 GMT</pubDate></item><item><title><![CDATA[Im QDialog ein Fragezeichen ab Version 6.x.x]]></title><description><![CDATA[Stimmt! Herzlichen Dank.
Werde mich mal mit den Flags beschäftigen um den Sachverhalt besser verstehen zu können.
]]></description><link>https://www.c-plusplus.net/forum/topic/354462/im-qdialog-ein-fragezeichen-ab-version-6-x-x</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354462/im-qdialog-ein-fragezeichen-ab-version-6-x-x</guid><dc:creator><![CDATA[Helmut.Jakoby]]></dc:creator><pubDate>Thu, 04 Jan 2024 18:25:34 GMT</pubDate></item><item><title><![CDATA[QList::at: &quot;index out of range&quot;]]></title><description><![CDATA[@Feetless
Da Range based Schleifen schöner sind, als mit Index, hier dein Beispiel mit range based Loop
m_intList = {1, 2, 4};
    // definiert als: QList&lt;int&gt; m_intList;
for (int i : m_intList) {
    ui-&gt;intList-&gt;append(QString::number(i));
}

]]></description><link>https://www.c-plusplus.net/forum/topic/354434/qlist-at-index-out-of-range</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354434/qlist-at-index-out-of-range</guid><dc:creator><![CDATA[Schlangenmensch]]></dc:creator><pubDate>Wed, 13 Dec 2023 15:06:58 GMT</pubDate></item><item><title><![CDATA[Motif Widget erzeugt X-Error]]></title><description><![CDATA[@john-0
@john-0 sagte in Motif Widget erzeugt X-Error:

Schau Dir am besten gleich die komplette O'Reilly X11 Series an. Die Bücher sind zwar schon etwas älter und in der Regel nur für X11 R3 und R4 geschrieben, aber für die Grundkonzepte sind die Bücher immer noch sinnvoll, wenn man denn für die alten FrameWorks Software schreiben will. Dann muss man aufpassen, dass es einige der Bücher sowohl als Motif Version existieren und in einer OpenLook Version. OpenLook ist noch älter und definitiv nur noch von geschichtlichen Interesse. Außer Du willst unbedingt für eine alte SUN etwas schreiben.

Volume 1: Xlib Programming Manual
Volume 2: Xlib Reference Manual
Volume 3: X Window System User's Guide
Volume 4: X Toolkit Intrinsics Programming Manual
Volume 5: X Toolkit Intrinsics Reference Manual
Volume 6A: Motif Programming Manual
Volume 6B: Motif Reference Manual

Bei IST finden sich für die Volume 6A und 6B neue Auflagen für Motif 2.1, die Versionen bei O'Reilly sind für Motif 1.2.
https://www.ist.co.uk/motif/download/book_download.html
Es gibt dann noch von einige Büchern von Douglas A. Young. Ggf. finden sich die bei archiv.org

The X Window System Programming an Applications with Xt (OSF/Motif Edition)


Das Buch vol6a gibt es auch als angenehme HTML-Variante:
https://www.oreilly.com/openbook/motif/vol6a/Vol6a_html/toc.html
]]></description><link>https://www.c-plusplus.net/forum/topic/353971/motif-widget-erzeugt-x-error</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353971/motif-widget-erzeugt-x-error</guid><dc:creator><![CDATA[Mathuas]]></dc:creator><pubDate>Sun, 28 May 2023 06:55:14 GMT</pubDate></item><item><title><![CDATA[Ausgabewerte stimmen nicht]]></title><description><![CDATA[Als weiterer Hinweis:
Anstatt jeweils variable = variable + wert kannst du auch einfach variable += wertschreiben.
Und für die Anzahl 10001 solltest du eine Konstante anlegen, so daß dieser Wert einfacher verändert werden könnte und der Code übersichtlicher ist (Stichwort: Magische Zahlen in Code):
const int MaxValues = 10001;

]]></description><link>https://www.c-plusplus.net/forum/topic/354098/ausgabewerte-stimmen-nicht</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354098/ausgabewerte-stimmen-nicht</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sat, 20 May 2023 05:26:12 GMT</pubDate></item><item><title><![CDATA[Athena Widget, wieso mit  ovalen Buttons]]></title><description><![CDATA[@john-0 sagte in Athena Widget, wieso mit ovalen Buttons:

Man kann als Nutzer in eigenem Home Verzeichnis immer &quot;~/.Xdefaults&quot; anlegen.

Ich habe als Versuch die Datei ~/.Xdefaults mit folgendem Inhalt erstellt.
xterm*geometry:           160x50

Anschliessend xterm gestartet, aber es ist keine Änderung sichtbar.
Ich habe mich an folgende Anleitung gehalten:
https://wiki.archlinux.de/title/Xdefaults
Ich habe zuoberst noch das mit xrdb gelesen und daher den Rechner neu gestartet, aber ohne Erfolg.
]]></description><link>https://www.c-plusplus.net/forum/topic/354093/athena-widget-wieso-mit-ovalen-buttons</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354093/athena-widget-wieso-mit-ovalen-buttons</guid><dc:creator><![CDATA[Mathuas]]></dc:creator><pubDate>Fri, 19 May 2023 14:13:06 GMT</pubDate></item><item><title><![CDATA[Motif Widget - Suche Color Const]]></title><description><![CDATA[@Mathuas sagte in Motif Widget - Suche Color Const:

Was $PFAD ist mit unbekannt.

Versuch das mal mit https://en.wikipedia.org/wiki/Environment_variable unter einen Hut zu bekommen (den Unix-Teil davon)
Edit: $PFAD ist so wörtlich nicht auf deinem System gesetzt, sondern wäre der Pfad auf deinem System, der uns unbekannt ist.
]]></description><link>https://www.c-plusplus.net/forum/topic/354036/motif-widget-suche-color-const</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/354036/motif-widget-suche-color-const</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Thu, 27 Apr 2023 10:16:53 GMT</pubDate></item><item><title><![CDATA[Xaw Dialog Auswertung mit &quot;segmentation fault&quot;]]></title><description><![CDATA[Problem ist dass im Dialog kein Wert als &quot;ValueString&quot; hinterlegt ist. Das auch in dem motif xdialg beispiel das auch crash könnte daran liegen, dass das beispiel veraltet ist. Denn laut dem code soll da der user was eingeben können nur ist da nichts sichtbar weil kein Wert gesetzt wird (nicht mal emtpy string)
siehe auch folgendes beispiel:
https://openbook.rheinwerk-verlag.de/linux_unix_programmierung/Kap14-015.htm#RxxKap14015040004C31F020100
Korrekt ist es wie folgt
x11test.c:
#include  &lt;X11/StringDefs.h&gt;
#include  &lt;X11/Intrinsic.h&gt;
#include  &lt;X11/Xaw/Box.h&gt;
#include  &lt;X11/Xaw/Dialog.h&gt;
#include  &lt;X11/Xaw/Command.h&gt;
#include  &lt;stdio.h&gt;

void clickDialog(Widget w, XtPointer client, XtPointer call) {
printf(&quot;Hello World %p\n&quot;, w);
        String pc  = XawDialogGetValueString(XtParent(w));
        printf(&quot;tt: %s\n&quot;, pc);
}

int main(int argc, char **argv) {
    Widget toplevel, box,  dialog;
    toplevel = XtInitialize(&quot;Mein Fenster&quot;, &quot;simple&quot;, NULL, 0, &amp;argc, argv);
    box = XtCreateManagedWidget(&quot;Button Gruppe&quot;, boxWidgetClass, toplevel, NULL, 0);

    dialog = XtVaCreateManagedWidget(&quot;doalog&quot;, dialogWidgetClass, box, XtNlabel,&quot;speichern ?&quot;, XtNvalue, (XtArgVal) &quot;bla&quot;,NULL);
    XawDialogAddButton(dialog,&quot;Yes&quot;, clickDialog, NULL);
    XawDialogAddButton(dialog,&quot;No&quot;, clickDialog, NULL);

    XtRealizeWidget(toplevel);
    XtMainLoop();
}

Durch XtNValue, (XtArgVal) &quot;bla&quot; wird dann im Dialog ein eingabefeld angezeigt und der wert, der in diesem feld steht kann dann via XawDialogGetValueString ausgelesen werden
Und dann wie folgt übersetzen:
gcc x11test.c -o x11test.c -lXt -lXaw
Ausgabe nach click auf einen der Buttons:
$ ./x11test
Hello World 0x556b1496e040
tt: bla
]]></description><link>https://www.c-plusplus.net/forum/topic/353956/xaw-dialog-auswertung-mit-segmentation-fault</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353956/xaw-dialog-auswertung-mit-segmentation-fault</guid><dc:creator><![CDATA[firefly]]></dc:creator><pubDate>Tue, 21 Mar 2023 16:29:50 GMT</pubDate></item><item><title><![CDATA[Einstieg in wxWidgets]]></title><description><![CDATA[@Schlangenmensch Vermutlich würde ich im aller ersten Tutorial auch nicht direkt die gui lib einführen. Sondern normalerweise gibt es ja erstmal ein Hello World etc.
Wenn ich ein Buch schreiben würde, würde ich es vermutlich so machen:

Einstieg in einem Online Compiler o.ä. wo man gar nichts einrichten muss / selber kompilieren muss für die anfängliche Motivation .... weil wie du sagst: Erstmal mit CMake rumschlagen bevor man die erste zeile Code schreibt ist nicht grade motivieren. Das selbe gilt aber auch für Make, Compiler und IDEs imo.
Dann von Hand kompilieren
Dann mit Make
Dann mit CMake

wobei ich das von hand oder mit make kurz halten würde. Nur als Motivation um zu verstehen, was die Tools u.a. im Hintergrund machen und wieso man die Tools braucht.
Wenn dann komplexere Themen kommen wie Libraries einbinden, würde ich wieder den etwas manuelleren Weg zeigen. Sprich die Library selber beim linken angeben, den Include path manuell setzen etc. (in CMake aber direkt) und zeigen wie das ganze übersetzt wird in den rohen Compiler Aufruf.
Alleine zum Debuggen etc. ist es einfach essentiell, dass man versteht wie das geht. Aber dann eben auch schnell zeigen wie man es in Projekten richtig macht mit Targets etc.
Naja wer weiß, vlt. schreibe ich ja irgendwann mal ein Buch oder zumindest ein Blog   Ich denke den richtigen Kompromiss den man finden muss ist folgender:

Komplexität niedrig halten, Motivation geben etc. grade am Anfang, keine totale Überforderung, keine Stunden von Arbeit um kleine Fortschritte zu erzielen
Das Fundament richtig und korrekt vermitteln. Dazu zählt grade bei C++ durchaus wie der Compiler im Hintergrund wirklich auch arbeitet. Wer da wirklich keine Ahnung von hat, kommt in C++ ganz schnell an Grenzen imo.
Best Practices vermitteln, die auch large scale funktionieren

Erfahrungsgemäß schaffen Bücher etc. die ich kenne allerhöchstens zwei dieser drei Punkte abzudecken, i.d.R. aber höchstens einen 
]]></description><link>https://www.c-plusplus.net/forum/topic/353969/einstieg-in-wxwidgets</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353969/einstieg-in-wxwidgets</guid><dc:creator><![CDATA[Leon0402]]></dc:creator><pubDate>Mon, 20 Mar 2023 15:33:06 GMT</pubDate></item><item><title><![CDATA[GTK2 Button einfärben]]></title><description><![CDATA[Ich glaube nicht dass GTK_STATE_PRELIGHT dafür gedacht ist dynamisch beim Mouse-Enter Event gesetzt zu werden. Sondern dafür dass man es gleich bei Erzeugen des Widget setzt und dann immer so lässt.
Ob das mit deinem Problem zu tun hat kann ich nicht sagen. Ich hätte angenommen dass GTK das Widget trotzdem updaten sollte, und die Farbänderung daher sichtbar werden sollte. Ich hab aber auch von GTK keinen Plan. Von daher...
]]></description><link>https://www.c-plusplus.net/forum/topic/353915/gtk2-button-einfärben</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353915/gtk2-button-einfärben</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 21 Feb 2023 17:04:21 GMT</pubDate></item><item><title><![CDATA[wxGrid SelectionModes]]></title><description><![CDATA[@Schlangenmensch
schon wieder entfernt.
danke für die Hinweise
]]></description><link>https://www.c-plusplus.net/forum/topic/353902/wxgrid-selectionmodes</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353902/wxgrid-selectionmodes</guid><dc:creator><![CDATA[gokusa]]></dc:creator><pubDate>Fri, 17 Feb 2023 14:47:27 GMT</pubDate></item><item><title><![CDATA[Fehlermeldung des GNU-CC-Compilers: error: unrecognized command line option &#x27;-std=gnu++20&#x27;; did you mean &#x27;-std=gnu++2a&#x27;?]]></title><description><![CDATA[Dir auch danke Finnegan!
]]></description><link>https://www.c-plusplus.net/forum/topic/353887/fehlermeldung-des-gnu-cc-compilers-error-unrecognized-command-line-option-std-gnu-20-did-you-mean-std-gnu-2a</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353887/fehlermeldung-des-gnu-cc-compilers-error-unrecognized-command-line-option-std-gnu-20-did-you-mean-std-gnu-2a</guid><dc:creator><![CDATA[C-Laie 0]]></dc:creator><pubDate>Wed, 15 Feb 2023 14:51:49 GMT</pubDate></item><item><title><![CDATA[Viereck zeichnen]]></title><description><![CDATA[@member sagte in Viereck zeichnen:

Jetzt, nachdem mir das Viereck in 3D gelungen ist, wollte ich nur noch fragen, wie
eine Kugel in DirectX 9 erstellt werden kann.
[...]
Für das Modellieren einer Kugel wird die Funktion D3DXCreateSphere
zur Verfügung gestellt, welche in diesem eBook Seite 84 aufgezählt wird.

Wenn ich mir die Funktion D3DXCreateSphere ansehe:
HRESULT D3DXCreateSphere(
  _In_  LPDIRECT3DDEVICE9 pDevice,
  _In_  FLOAT             Radius,
  _In_  UINT              Slices,
  _In_  UINT              Stacks,
  _Out_ LPD3DXMESH        *ppMesh,
  _Out_ LPD3DXBUFFER      *ppAdjacency
);

... dann sieht das für mich so aus, dass diese ein D3DXMESH und einen D3DXBUFFER erzeugt (Out-Parameter). Das LP vor dem Namen bedeutet einfach nur, dass es Pointer auf ID3DXMesh/ID3DXBUFFER-Interfaces implementierende Objekte sind (&quot;Long Pointer&quot;, die Skelette im Keller der 16-Bit-Vergangenheit von Windows ).
In dem von dir verlinkten eBook werden ab Kapitel 10 (Buchseite 160) Meshes besprochen (Meshes Part I/II). Dort heisst es unter &quot;Objectives&quot;:

To learn how to render an ID3DXMesh.

Das sollten alle Bausteine sein, mit denen du dir die Antwort zusammensetzen kannst - ich gehe mal davon aus, dass du mit &quot;eine Kugel erstellen&quot; diese &quot;auf dem Bildschirm darstellen&quot; meinst. &quot;Erstellt&quot; wird sie ja eigentlich bereits mit D3DXCreateSphere.
Alternativ kannst du die Kugel auch selbst rendern, ohne D3DXCreateSphere zu verwenden -  so wie du dein Viereck dargestellt hast - z.B. ebenfalls mit Triangle Strips oder du generierst eben ein Mesh (sollte man auch lernen, was es mit denen auf sich hat). Sich zu erarbeiten, wie man diese zusammensetzt und die Koordinaten der Eckpunkte berechnet, würde ich als gute Übungsaufgabe erachten. Es schadet nicht, sowas selbst hinbekommen zu können, wenn man ernsthaft 3D-Grafik machen will 
]]></description><link>https://www.c-plusplus.net/forum/topic/353836/viereck-zeichnen</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353836/viereck-zeichnen</guid><dc:creator><![CDATA[Finnegan]]></dc:creator><pubDate>Thu, 09 Feb 2023 16:55:20 GMT</pubDate></item><item><title><![CDATA[pqxx und wxGrid]]></title><description><![CDATA[@gokusa Der Punkt ist, das ein Iterator nicht in einen int umgewandelt werden kann. Die Vorgestellte Lösund berechnet die Distanz vom aktuellen Iterator zum ersten. Es gäbe dafür auch std::distance https://en.cppreference.com/w/cpp/iterator/distance was aber im Prinzip dasselbe macht.
]]></description><link>https://www.c-plusplus.net/forum/topic/353878/pqxx-und-wxgrid</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353878/pqxx-und-wxgrid</guid><dc:creator><![CDATA[Schlangenmensch]]></dc:creator><pubDate>Mon, 06 Feb 2023 14:32:23 GMT</pubDate></item><item><title><![CDATA[not declared in this scope]]></title><description><![CDATA[@Schlangenmensch
deinen Empfehlungen folgend habe ich die Zeilen
const long ID_BUTTON1 = wxNewId();
const long ID_TEXTCTRL1 = wxNewId();

und
Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&amp;DBtoolFrame::OnButton1Click);

entfernt und beim Button Bind hinzugefügt.
Button1-&gt;Bind(wxEVT_BUTTON, &amp;DBtoolFrame::OnButton1Click, this);

Es funktioniert, Danke. Mein eingangs geposteter Code mit -&gt;Bind enthielt strukturelle Fehler, das konnte nicht klappen.
]]></description><link>https://www.c-plusplus.net/forum/topic/353840/not-declared-in-this-scope</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353840/not-declared-in-this-scope</guid><dc:creator><![CDATA[gokusa]]></dc:creator><pubDate>Sun, 29 Jan 2023 14:59:59 GMT</pubDate></item><item><title><![CDATA[cygwin_exception::open_stackdumpfile Fehlermeldung]]></title><description><![CDATA[Überprüfe mal den Rückgabewert von D3D11CreateDeviceAndSwapChain bzw. schau mal welchen Wert swapchain nach dem Aufruf hat.
Verwendest du denn eine IDE, wo du den Code auch debuggen kannst?
PS: Schon wieder Code, wo der Rückgabewert nicht überprüft wird (hatte ich gerade in einem anderen Forum auch)...
]]></description><link>https://www.c-plusplus.net/forum/topic/353774/cygwin_exception-open_stackdumpfile-fehlermeldung</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/topic/353774/cygwin_exception-open_stackdumpfile-fehlermeldung</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 05 Jan 2023 14:46:20 GMT</pubDate></item></channel></rss>