Erste Gehversuche mit GTK2

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
PascalDragon
Beiträge: 945
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Erste Gehversuche mit GTK2

Beitrag von PascalDragon »

Mathias hat geschrieben: Sa 9. Sep 2023, 15:03 Wieso wird sowas nicht bei der Gestaltung bei der LCL perfekt integriert. Es hat da schon ein Autosize, aus so perfekt wie bei nativen GTK ist es nicht.
Weil die LCL auf Grund ihrer VCL-Vergangenheit auf Pixel ausgelegt ist und das AutoSizing auf eine Art implementiert ist, die unabhängig vom Widgetset funktioniert.
FPC Compiler Entwickler

Mathias
Beiträge: 6899
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Erste Gehversuche mit GTK2

Beitrag von Mathias »

Weil die LCL auf Grund ihrer VCL-Vergangenheit auf Pixel ausgelegt ist und das AutoSizing auf eine Art implementiert ist, die unabhängig vom Widgetset funktioniert.
Das kann ich mir vorstellen, VCL kommt ursprunglich aus der Windows-Welt von Delphi.
Und die WinApi arbeitet sicher nicht gleich wie GTK.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6899
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Erste Gehversuche mit GTK2

Beitrag von Mathias »

Ich habe gerade gemerkt, das GTKx gar nicht so weit von Athena entfernt ist.

So hatte man mit Athena ein Fenster erstellt:

Code: Alles auswählen

    toplevel := XtVaAppInitialize(@app, 'myapp', nil, 0, @argc, argv, nil,
      XtNwidth, 320,
      XtNheight, 200,
      XtNtitle, 'Mein Athena Fenster',
      nil);
Und mit GTKx kann man es so machen:

Code: Alles auswählen

    window := g_object_new(GTK_TYPE_APPLICATION_WINDOW,
      'application', app,
      'height-request', 300,
      'width-request', 300,
      'title', 'Hello GTK',
      nil);
Somit wurde bei GTKx nicht mal so viel neues erfunden.
Oder anders gesagt, Athena war auch schon sehr fortschrittlich, abgesehen vom Optischen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6763
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Erste Gehversuche mit GTK2

Beitrag von af0815 »

Ja, Räder sind auch meistens rund :mrgreen:

Du wirst immer auf Ähnlichkeiten stoßen, auch GTK und QT haben viele Ähnlichkeiten. Ich habe das schon zwischen CP/M und der damals ach so neuen Erfindung von MS-Dos gesehen. Es ist so wie es die Prinzen schön gesungen haben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

hum4n0id3
Beiträge: 319
Registriert: So 5. Mai 2019, 15:23

Re: Erste Gehversuche mit GTK2

Beitrag von hum4n0id3 »

Muss nicht schlechtes sein, wenn sich die Projekte in gewisserweise ähneln. Ich finde Qt viel eingängiger und verständlicher als Gtk, besonders als Anfänger. Hat man Qt und sein Widget-System verstanden, ist Gtk dann auch nicht weiter schwierig. Da ich Ubuntu auf meiner Linux-Dev-Kiste nutze, schaue ich mir momentan Gtk4 + GJS(JavaScript) an und mache echte Fortschritte, weil ich vorher mich in Qt mit Python etwas eingearbeitet habe.

Gtk2 und Gtk3 würde ich in der heutigen Zeit ruhen lassen, da bei schon Obsolete sind.

Mathias
Beiträge: 6899
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Erste Gehversuche mit GTK2

Beitrag von Mathias »

Gtk2 und Gtk3 würde ich in der heutigen Zeit ruhen lassen, da bei schon Obsolete sind.
Daher beschäftige ich mich mit GTK4.
Ich finde Qt viel eingängiger und verständlicher als Gtk,
Wen man mit C++ codet, ist QTx sicher eine feine Sache.
GTK4 ist reinrassiges C, daher kann man es gut nach FPC portieren.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

hum4n0id3
Beiträge: 319
Registriert: So 5. Mai 2019, 15:23

Re: Erste Gehversuche mit GTK2

Beitrag von hum4n0id3 »

Gtk4 lässt sich mit verschiedenen Sprachen nutzen, nicht mehr nur C.

Python, Javascript (GJS), Rust und Vala können auch genutzt werden. Allerdings in welchem Umfang, keine Ahnung.

Mathias
Beiträge: 6899
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Erste Gehversuche mit GTK2

Beitrag von Mathias »

Gtk4 lässt sich mit verschiedenen Sprachen nutzen, nicht mehr nur C.
Ich habe es anders gemeint, da die Libs von GTKx auf c basieren, kann man es gut mit anderen Sprachen anbinden, unter anderem auch FPC.
LSind es aber C++ Libs, so wie es bei QTx der Fall ist, geht es nicht mehr so einfach. ZB. geht auch FPC nicht, ausser man verwendet eine Warper Lib.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten