Welches Widgetset?
- photor
- Beiträge: 523
- Registriert: Mo 24. Jan 2011, 21:38
- OS, Lazarus, FPC: Arch Linux: L 3.2 (Gtk2) FPC 3.2.2
- CPU-Target: 64Bit
Re: Welches Widgetset?
Hallo,
ich habe vor ca. 1/2 Jahr mal die Qt-Version (ich glaube Qt5) von Lazarus installiert, um eben zu probieren, wie gut das funktioniert - eben aus dem Grund, weil Gtk2 wohl früher oder später ausläuft und Gtk3- oder gar Gtk4-Unterstützung noch nicht in Sicht sind. Ich muss allerdings sagen, dass ich unter Linux/Gnome (also eher Gtk-lastig, ArchLinux) arbeite.
Die Erfahrung damals war eher weniger gut. Beim Aussehen bin ich ja bereit Zugeständnisse zu machen. Aber es gab auch Probleme sowohl beim Programmieren als auch bei den erzeugten Programmen. Ich habe relativ schnell aufgegeben - vielleicht hätte man die Probleme beheben können.
Ich frage daher: wie gut funktioniert Lazarus-Qt6 mittlerweile? Ich würde aus den Arch-Repos installieren wollen, wäre aber bereit zu probieren (und eventuell zu helfen - unter Anleitung), um auch in Zukunft mit Lazarus arbeiten zu können.
Ciao,
Photor
ich habe vor ca. 1/2 Jahr mal die Qt-Version (ich glaube Qt5) von Lazarus installiert, um eben zu probieren, wie gut das funktioniert - eben aus dem Grund, weil Gtk2 wohl früher oder später ausläuft und Gtk3- oder gar Gtk4-Unterstützung noch nicht in Sicht sind. Ich muss allerdings sagen, dass ich unter Linux/Gnome (also eher Gtk-lastig, ArchLinux) arbeite.
Die Erfahrung damals war eher weniger gut. Beim Aussehen bin ich ja bereit Zugeständnisse zu machen. Aber es gab auch Probleme sowohl beim Programmieren als auch bei den erzeugten Programmen. Ich habe relativ schnell aufgegeben - vielleicht hätte man die Probleme beheben können.
Ich frage daher: wie gut funktioniert Lazarus-Qt6 mittlerweile? Ich würde aus den Arch-Repos installieren wollen, wäre aber bereit zu probieren (und eventuell zu helfen - unter Anleitung), um auch in Zukunft mit Lazarus arbeiten zu können.
Ciao,
Photor
Re: Welches Widgetset?
Das lag sehr wahrscheinlich an der damals noch fehlenden Wayland-Unterstützung von Qt. Das war lange Zeit tatsächlich eine Baustelle, besonders bei Arch Linux (Ubuntu hat soweit ich weiß da etwas von Cononical gepatchtes, was besser ging).
Probiere es jetzt noch einmal

-
- Beiträge: 6955
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Welches Widgetset?
Ich bringe es nicht mal mit QT5 zum laufen. Gut, ich gebe zu ich habe noch nicht viel probiert.ch frage daher: wie gut funktioniert Lazarus-Qt6 mittlerweile?
Schade das Lazarus nicht mehr auf GTK2 oder gar GTK4 setzt.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Welches Widgetset?
GTK2 funktioniert natürlich nach wie vor noch. Es ist bloß eine de facto tote Version. GTK2 wird seit 2011(!) nicht mehr weiterentwickelt. Dass es überhaupt noch in den meisten Linux-Distributionen vorkommt, liegt ausschließlich darin begründet, dass die Änderungen (Breaking Changes) zwischen GTK2 und GTK3 so groß waren, dass viele Anwendungen, die GTK benutzen, lange Zeit nicht mit der Portierung hinterherkamen. Nun gibt es schon GTK4 und auch da (zwischen GTK3 und GTK4) ist wieder viel passiert.Mathias hat geschrieben: Mo 1. Jul 2024, 17:32 Schade das Lazarus nicht mehr auf GTK2 oder gar GTK4 setzt.
Das ist ja auch im Prinzip das Problem, welches Lazarus hat. Der Entwicklungsaufwand ist einfach zu groß und wenn dann irgendwann mal GTK3 gut laufen sollte, dann müsste man schon mit GTK4 beginnen.
Qt ist da insgesamt deutlich stabiler.
-
- Beiträge: 6955
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Welches Widgetset?
Oder man lässt GTK3 aus und setzt direkt auf GTK4.Das ist ja auch im Prinzip das Problem, welches Lazarus hat. Der Entwicklungsaufwand ist einfach zu groß und wenn dann irgendwann mal GTK3 gut laufen sollte, dann müsste man schon mit GTK4 beginnen.
Ich kann mir sehr gut vorstellen, das Lazarus sehr tief in GTK2 verankert ist. Das wird ein bisschen mehr sein, als nur ein paar Buttons zu ändern.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6848
- 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: Welches Widgetset?
Ich habe da ein wenig hineingeschnuppert, es sieht fast so aus, als wäre ein Port von QT5 zu GTK4 leichter als GTK2 zu GTK4. So tief verankert ist GTK2 Lazarus nicht, da ist eher das Windows Widgetset der Urvater.Mathias hat geschrieben: Mo 1. Jul 2024, 19:14 Ich kann mir sehr gut vorstellen, das Lazarus sehr tief in GTK2 verankert ist. Das wird ein bisschen mehr sein, als nur ein paar Buttons zu ändern.
GTKx selbst ist das Hauptproblem, abgesehen von GTK2 ist ja jede Version in den APIs instabiler je höher du in der Version gehst. Und genau dort ist IMHO eines der Probleme. QT ist da durch den kommerziellen Hintergrund weniger problematisch.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- photor
- Beiträge: 523
- Registriert: Mo 24. Jan 2011, 21:38
- OS, Lazarus, FPC: Arch Linux: L 3.2 (Gtk2) FPC 3.2.2
- CPU-Target: 64Bit
Re: Welches Widgetset?
Das kann sehr gut sein: Wayland (bei Gnome "dabei" und mit ein Grund, warum ich Gnome und nicht mehr XFCE nutze) war noch sehr schwach unterstützt.ArchChem hat geschrieben: Mo 1. Jul 2024, 17:28Das lag sehr wahrscheinlich an der damals noch fehlenden Wayland-Unterstützung von Qt. Das war lange Zeit tatsächlich eine Baustelle, besonders bei Arch Linux (Ubuntu hat soweit ich weiß da etwas von Cononical gepatchtes, was besser ging).
Probiere es jetzt noch einmalEs sollte nun deutlich besser sein. Für Qt5 kannst du sogar einen GTK-nativen Look mittels adwaita-qt5-git bekommen.
Allerdings hat Gtk2 ja nun gar nichts mit Wayland am Hut. Also grundsätzlich sollte auch das gehen. Stichwort: "XWayland"; die Lazarus-IDE jetzt läuft ja auch darunter. Gnome bzw. Mutter scheint da aber weiter zu sein, als andere - unter Sway (wlroot) kommt mit Lazarus auch eher schlecht zurecht.
Aber vielleicht sollte ich Lazarus-Qt6 (oder Qt5) nochmal probieren - demnächst. Wenn, dann werde ich hier berichten.
Ciao,
Photor
-
- Beiträge: 6955
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Welches Widgetset?
Dies ist mir nicht bekannt.GTKx selbst ist das Hauptproblem, abgesehen von GTK2 ist ja jede Version in den APIs instabiler je höher du in der Version gehst.
Ist QTx für Lazarus ideal ?Aber vielleicht sollte ich Lazarus-Qt6 (oder Qt5) nochmal probieren - demnächst. Wenn, dann werde ich hier berichten.
Immerhin ist alles in C++ und für FPC braucht es die Brückenlib, weil FPC nicht direkt mit C++ Libs umgehen kann.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6848
- 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: Welches Widgetset?
https://blog.gtk.org/2016/09/01/version ... se-in-gtk/Mathias hat geschrieben: Di 2. Jul 2024, 08:36Dies ist mir nicht bekannt.GTKx selbst ist das Hauptproblem, abgesehen von GTK2 ist ja jede Version in den APIs instabiler je höher du in der Version gehst.
Schau dir als Beispiel GIMP an, warum sind die nicht auf der 4.x ? Es heisst ja GimpToolKit = GTK (nein es heisst in Wirklichkeit GNU Toolkit

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- photor
- Beiträge: 523
- Registriert: Mo 24. Jan 2011, 21:38
- OS, Lazarus, FPC: Arch Linux: L 3.2 (Gtk2) FPC 3.2.2
- CPU-Target: 64Bit
Re: Welches Widgetset?
So. Tatsächlich habe ich das heute mal gemacht: einfach Lazarus-Gtk2 deinstalliert, Lazarus-Qt6 und qt6pas installiert und das ~/.lazarus/-Verzeichnis beiseite gemovet.photor hat geschrieben: Mo 1. Jul 2024, 20:39Das kann sehr gut sein: Wayland (bei Gnome "dabei" und mit ein Grund, warum ich Gnome und nicht mehr XFCE nutze) war noch sehr schwach unterstützt.ArchChem hat geschrieben: Mo 1. Jul 2024, 17:28
[...]
Probiere es jetzt noch einmalEs sollte nun deutlich besser sein. Für Qt5 kannst du sogar einen GTK-nativen Look mittels adwaita-qt5-git bekommen.
Allerdings hat Gtk2 ja nun gar nichts mit Wayland am Hut. Also grundsätzlich sollte auch das gehen. Stichwort: "XWayland"; die Lazarus-IDE jetzt läuft ja auch darunter. Gnome bzw. Mutter scheint da aber weiter zu sein, als andere - unter Sway (wlroot) kommt mit Lazarus auch eher schlecht zurecht.
Aber vielleicht sollte ich Lazarus-Qt6 (oder Qt5) nochmal probieren - demnächst. Wenn, dann werde ich hier berichten.
Lazarus ließ sich ganz normal starten, beschwert sich über den fehlenden Debugger (auf Dwarf3 gestellt) und dann die IDE mit AnchorDocking, AnchorDochingDsgn und DockedFormEditor neu compiliert. Die IDE kommt danach automatisch im Ein-Fenster-Mode hoch - und alles scheint erstmal zu funktionieren. Ich habe sogar den Eindruck, das Starten geht schneller - und sie läuft auch tatsächlich unter Wayland (und nicht XWayland).
Einige Einstellungen muss ich nochmal anfassen wegen Aussehen und Schriftgröße und so.
Compiliertes Test-Projekt funktioniert auch: aus der IDE ganz glatt, aus der Konsole gestartet auch aber mit folgender Warnung:
Code: Alles auswählen
qt.core.qobject.connect: QObject::disconnect: No such slot QComboBox::_q_returnPressed()
qt.qpa.wayland.textinput: virtual void QtWaylandClient::QWaylandTextInputv3::zwp_text_input_v3_leave(wl_surface*) Got leave event for surface 0x0 focused surface 0x30a42b80
Soweit meine (ganz kurze) erste Erfahrung mit Lazarus-Qt6.
Ciao,
Photor
PS: System: ArchLinux mit Gnome/Wayland
- photor
- Beiträge: 523
- Registriert: Mo 24. Jan 2011, 21:38
- OS, Lazarus, FPC: Arch Linux: L 3.2 (Gtk2) FPC 3.2.2
- CPU-Target: 64Bit
Re: Welches Widgetset?
Hallo Forum,
da ich meinen letzten Beitrag nicht editieren bzw ergänzen kann, hier ein neuer.
Ich habe etwa eine Woche mit der Qt6-Variante der Lazarus-IDE gespielt. Hier meine Erfahrungen kurz zusammen gefasst (kein Anspruch auf Vollständigkeit und ich bin nicht allem nachgegangen).
An der Stelle habe ich das Experiment beendet und bin zurück zum Standard. Das ist den Problemen mit dem Debuggen, Docked Layout und auch ein bisschen dem Look und den bröckeligen Schriften geschuldet.
Fazit: gerade wegen der besseren Wayland-Integration finde ich die Qt-Variante positiv (persönlich wäre mir eine Gtk-Version aber lieber). Dass das Ganze noch etwas wackelig war, ist schade, wird sich aber bestimmt ändern. Und dann ist diese Version sicher einen weiteren Blick wert - demnächst dann wieder.
Soweit mein persönlicher Eindruck - und mehr sollte es auch nicht sein. Ermutigung, es selbst zu probieren (erst recht, wenn man z.B. KDE nutzt).
Ciao,
Photor
PS: an der Hübschizität der Fonts bastel ich immer noch - mrmpf.
da ich meinen letzten Beitrag nicht editieren bzw ergänzen kann, hier ein neuer.
Ich habe etwa eine Woche mit der Qt6-Variante der Lazarus-IDE gespielt. Hier meine Erfahrungen kurz zusammen gefasst (kein Anspruch auf Vollständigkeit und ich bin nicht allem nachgegangen).
- habe, wie schon geschrieben, mal die Qt6-Variante installiert (Arch-Pakete; nicht FpcDeluxe) und die harmoniert auf den ersten Blick gut mit Wayland/Gnome; der XWayland-Indikator der Gnome-Shell bleibt aus (bei der Standard-Gtk2-IDE als auch bei den compilierten Programmen war der "An", eben weil kein Wayland).
- Um ein ähnliches Layout und ein (dunkles) Theme zu erhalten, das Paket qt6ct installiert. Danach war zwar die IDE dunkel - aber leider waren sämtliche Fonts in Gnome bröckelig - doof das - ist aber nicht Lazarus anzulasten
- neu-compilieren wegen Docked-Layout und Docked Form Editor funktionierte; Ein-Fenster-IDE startet problemlos. Auch andere Pakete wurden ganz normal eincompiliert.
- Dass das Erscheinungsbild eines Qt6-Programms unter Gtk/Gnome nicht sooo schön und harmonisch aussieht ... geschenkt.
- Der Form-Editor ließ sich wie bei der Gtk2-Version bedienen; ich habe jetzt aber keine komplizierten Design probiert. Generell scheint es aber zu funktionieren.
- Debuggen funktionierte dagegen nicht gut. Das lag vielleicht daran, dass keine Balloons oder Hints gezeigt wurden (woran das lag? ...). Aber auch Breakpoints funktionierten nicht immer. Vielleicht lag das aber auch an dem Test-Project; dem bin ich nicht sofort nachgegangen - das sollte später folgen.
- Neue Fenster (z.B. ToDo) ließen sich nicht ordentlich andocken. Das war sehr wild und chaotisch, bis man so ein Fenster halbwegs sinnvoll da angedockt bekam wo ich wollte (ein ähnliches Problem hatte ich auch bei der vorherigen Version von Gtk-Lazarus; das führte dann auch schon mal zum Absturz; ließ sich aber schlecht vorhersehbar reproduzieren - daher keine Fehlermeldung; mit der aktuellen (Gtk)Version scheint das aber auch behoben).
An der Stelle habe ich das Experiment beendet und bin zurück zum Standard. Das ist den Problemen mit dem Debuggen, Docked Layout und auch ein bisschen dem Look und den bröckeligen Schriften geschuldet.
Fazit: gerade wegen der besseren Wayland-Integration finde ich die Qt-Variante positiv (persönlich wäre mir eine Gtk-Version aber lieber). Dass das Ganze noch etwas wackelig war, ist schade, wird sich aber bestimmt ändern. Und dann ist diese Version sicher einen weiteren Blick wert - demnächst dann wieder.
Soweit mein persönlicher Eindruck - und mehr sollte es auch nicht sein. Ermutigung, es selbst zu probieren (erst recht, wenn man z.B. KDE nutzt).
Ciao,
Photor
PS: an der Hübschizität der Fonts bastel ich immer noch - mrmpf.
-
- Beiträge: 6955
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Welches Widgetset?
Für solche, die mal qt5 nativ probieren wollen, hier ein Beispiel:
Dabei habe ich festgestellt, das QT5 mit WideString arbeitet.
Ersetze ich den WideString oben durch String, wird Button auf Chinesisch geschrieben.
Code: Alles auswählen
uses
qt5,
SysUtils;
var
window: QWidgetH;
button: QPushButtonH;
layout: QVBoxLayoutH;
s: WideString;
i: integer;
app: QApplicationH;
begin
app := QApplication_Create(@argc, argv);
window := QWidget_Create();
layout := QVBoxLayout_Create(window);
for i := 0 to 15 do begin
s := 'Button ' + IntToStr(i);
button := QPushButton_Create(@s);
QBoxLayout_addWidget(layout, button);
end;
QWidget_show(window);
QApplication_exec();
end.
Ersetze ich den WideString oben durch String, wird Button auf Chinesisch geschrieben.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Welches Widgetset?
Danke für deinen Erfahrungsbericht!
Da habe ich ähnliche Erfahrungen gemacht. Qt6 passt sich nicht gut an das Gnome-Erscheinungsbild an. Ein Grund dafür ist, dass das Adwaita-Theme nicht wirklich für Qt6 portiert wurde. adwaita-qt wird leider nicht mehr weiterentwickelt. Das ist meiner Meinung nach ein Problem, um welches sich die Gnome-Entwickler kümmern sollten. Gnome geht bezüglich seines Designs mit Libadwaita sehr spezielle Wege, und es scheint, dass es die Gnome-Entwickler nicht wirklich interessiert, wie nicht native Gnome-Anwendungen sich dort einfügen können. Lazarus kann hier nicht wirklich mithalten, selbst wenn LCL irgendwann reibungslos GTK3/GTK4 unterstützen würde, wäre der Look auf Gnome nicht "native", weil Lazarus wohl kaum Libadwaita implementieren kann.photor hat geschrieben: Mo 8. Jul 2024, 20:22 Dass das Erscheinungsbild eines Qt6-Programms unter Gtk/Gnome nicht sooo schön und harmonisch aussieht ... geschenkt.
Ein weiterer Grund für mich, hauptsächlich KDE zu benutzen

-
- Beiträge: 6955
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Welches Widgetset?
Erstaunlich, wie wie sich Fenster-Manager und Widget-Sets kombinieren lassen.Da habe ich ähnliche Erfahrungen gemacht. Qt6 passt sich nicht gut an das Gnome-Erscheinungsbild an.
Man kann ein uralter FVWM2 nehmen und auch dort funktioniert GTKx.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- photor
- Beiträge: 523
- Registriert: Mo 24. Jan 2011, 21:38
- OS, Lazarus, FPC: Arch Linux: L 3.2 (Gtk2) FPC 3.2.2
- CPU-Target: 64Bit
Re: Welches Widgetset?
ich sag's mal so: ich bin eigentlich überzeugter Gtk-Mensch (eben, weil es nicht so typisch Windows-mäßig aussieht). Aaaber ich habe tatsächlich überlegt, ob ich mal - nur so zum Testen und von ganzweitwegmalansehen - KDE zu installieren.ArchChem hat geschrieben: Sa 13. Jul 2024, 13:52 Ein weiterer Grund für mich, hauptsächlich KDE zu benutzen![]()
Eigentlich will ich das nicht. Aber ich lande immer wieder bei Lazarus, wenn ich ein Programm mit GUI entwickeln will; alle anderen Programmiersprachen, die ich kenne machen da sehr viele Umwege(*). Wenn das mit Lazarus und Gtk mit Wayland so weiter geht, sehe ich tatsächlich nur die Möglichkeit Lazarus-Qt zu nutzen. Und nach der oben beschriebenen Erfahrung lande ich dann bei irgendeiner nativem Qt-Umgebeung (AKA KDE wahrscheinlich; Sway o.ä. ist mir im Moment zu rudimentär).
Ich hoffe auf Lazarus(**).
Ciao,
Photor
(*) zuletzt mal Cambalache probiert - ich verstehe das Programm nicht!!
(**) leider sind meine Fähigkeiten nicht ausreichend, um direkt dabei zu unterstützen.