GUI-Programmieren lernen (Database)

ABC

Cadet 3rd Year
Registriert
Nov. 2025
Beiträge
50
Möchte eine Datenbank-Anwendung mit GUI schreiben. Die Datenbank ist soweit klar, aber bei der GUI-Erstellung weiss ich nicht so recht weiter.

  • Lazarus gefällt mir sehr gut, auch wenn die GUI-Erstellung machmal etwas schwierig ist.
  • qt6 habe ich mir auch angesehen. Gefällt mir sehr gut. Nur mit C++ und den qt-Besonderheiten hackt es gewaltig.
  • C# ist unter Linux anscheinend nicht zu gebrauchen. Bazaar warnt vor der Installation mit ("Visual studio Code" is High Risk).

Das Programm soll unter Windows und Linux Nativ laufen. Programmiert wird unter Linux (Debian).

Python scheint mir zu langsam zu sein.

Gibt es Alternativen?
 
Was genau hast du vor, wenn Python zu langsam sein soll?
 
  • Gefällt mir
Reaktionen: JumpingCat, BeBur und ReignInBlo0d
Datenbank mit vielen Einträgen die erstellt oder geändert werden müssen. Das zu erklären würde zu weit führen. Deshalb brauche ich eine GUI mit der ich das machen kann. Verschiedene Auflösungen müssen unterstützt werden. Python ist nur eine Programmiersprache. Die GUI muss drumherum gebastelt werden. Größtes Manko: Interpretersprache. Das muss nicht sein.
 
Ich würde die GUI mit HTML/ JavaScript bauen. Gibt aus meiner Sicht keinen Grund die Datenbank per nativer app zu benutzen?

Etwas die Frage ist welche DB und wofür das ganze. (und Unterstützung dieser in der Programmiersprache deiner Wahl)

Python ist nicht zu langsam hierfür, denn es muss ja nix wirklich machen ausßer Infos darstellen.

Mein Empfahlung - gibt keinen Use-Case wo das nicht funktioniert:

  • DB: Postgres
  • Gui: HTML/JS (halt web based)
  • ggf eine Zwischenschicht/ Servicelayer - den würd ich falls nötig in C# oder Java machen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: JumpingCat, tiga05 und ReignInBlo0d
Gibt es dafür einen Editor für die Erstellung der GUI? Muss HiDPI können! Es gibt Anwender die arbeiten an verschiedenen Monitor-Auflösungen (<FHD und HiDPI)!
Mit qt klappt das ganz gut. Nur C++ ist nicht so meine Welt.
 
ABC schrieb:
Nur C++ ist nicht so meine Welt.
Das würde ich auch nicht nehmen.

Java ist eine gute Wahl, das läuft überall und hat mit JavaFX auch eine moderne Oberfläche.
Viele ältere Foreneinträge etc. beziehen sich noch auf die veraltete Oberfläche Swing.
 
Zuletzt bearbeitet:
Zumindest für meine Zwecke ist Nuklear bisher der vielversprechendste Kandidat. Und Google sagt, dass es auch Python-Bindings dafür gibt.

An der Linux-Standard-GUI GTK hat mich genervt, dass sie mir die Kontrolle über das C-Hauptprogramm entreißt, und durch eine ominöse "GTK-App-Struktur" ersetzt. Mit dem ganzen Bürokratiemist will ich nichts zu tun haben. Ich war kurz davor, mir von ChatGPT einen "C64-Emulator" schreiben zu lassen, der einfach nur eine Bitmap mit Double Buffering anzeigt, und als Mausklick-Event X- und Y-Koordinate zurückgibt, um die ganze Bedienoberfläche zu Fuß zu programmieren.
 
  • Gefällt mir
Reaktionen: madmax2010
ABC schrieb:
C# ist unter Linux anscheinend nicht zu gebrauchen. Bazaar warnt vor der Installation mit ("Visual studio Code" is High Risk)
Funktioniert unter Linux ohne größere Probleme, zumindest Avalonia. Das ganze Risiko Thema bzgl Visual Studio Code ist aber richtig, da ist Microsoft in ein paar Fettnäpfchen getreten. Ich würde unter Linux aber eh Rider einsetzen
 
  • Gefällt mir
Reaktionen: Krik, madmax2010 und aragorn92
Ich würde Qt mit dem Qt Creator nehmen, schau Dir mal kleine GUI Beispiele im Netz an. Ich habe bisher GTK mit C verwendet und habe schon Qt angetestet, es war auch ohne C++ Kenntnisse überraschend einfach. Weiter ist alles wichtige schon integeriert. Datenbankmäßig kannst ja Sqlite nehmen, falls nur eine App auf die Datenbank zugreifen muss.

Hier mal ein Beispiel, zeichnet eine kleine Balkengrafik:
https://stuff.mit.edu/afs/athena/so...7/doc/qtcharts/qtcharts-barchart-example.html
 
Die Grundidee einer Web-basierten Gui ist natürlich dass sie nicht auf demn gleichen rechner wie die Datenbank läuft. Das macht eh in den allerseltensten Fällen Sinn.
Da wir aber alle nicht den Anwendungsfall kennen ist alle pure Spekulation.
 
ABC schrieb:

Wer ist das und wieso meldet es Microsoft als auch Jetbrains als Problem?


ABC schrieb:
Die Datenbank ist soweit klar, aber bei der GUI-Erstellung weiss ich nicht so recht weiter.
ABC schrieb:
Das Programm soll unter Windows und Linux Nativ laufen.

Muss es eine standalone App sein oder reicht der auch was als Webinterface? Wenn ja, dann vielleicht sogar extrem weiter denken und auf Low Code wie z.B. budibase, etc setzen. Kostet im selbst Hosting der docker nichts. Außerdem muss deine Datenbank auch irgendwo laufen.
 
  • Gefällt mir
Reaktionen: Bob.Sponge, BeBur, Krik und eine weitere Person
JumpingCat schrieb:
Muss es eine standalone App sein oder reicht der auch was als Webinterface?
Webinterface (= GUI in JavaScript oder WASM) fällt schon raus, weil nicht nativ.
 
Lazarus ist eine gute Basis und du kommst ohne irgendwelche Abhängigkeiten zu Bibliotheken aus, die du nicht einschätzen kannst, schon gar nicht was die Sicherheit angeht. Und was passiert wenn ein Update kommt, ob dann deine Applikation noch so läuft wie sie soll steht oft in den Sternen.

In Lazarus schreibst du deine App und dann ist sie so wie du sie haben willst. Du hast genug Möglichkeiten dir Elemente für deine GUI zu bauen, die du dann immer wieder verwenden kannst.. Stichwort zB Frames. Und auch Interfaces zu Datenbanken gibt es genug, zb Zeos und und und.

Das wichtigste für mich ist dass du am Ende eine klar abgegrenzte Applikation ohne externe Abhängigkeiten hast. Und die Skalierung für Unterschiedliche Auflösungen funktionert auch gut.
 
  • Gefällt mir
Reaktionen: Hardware-Fan
Obwohl ich generell Java (mit JavaFX) empfehlen würde, halte ich für diesen Zweck (= native Datenbank-Anwendung mit schnell zu erstellender GUI) Lazarus für eine gute Wahl. Das ist das Erstellen der GUI wirklich einfach, und man bekommt im Ergebnis eine plattformübergreifende, native Applikation. Du kommst ohne den Web-Kram und das aufgeblähte, langsame Electron aus.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Bob.Sponge und Merlin352
KitKat::new() schrieb:
Webinterface (= GUI in JavaScript oder WASM) fällt schon raus, weil nicht nativ.

Du hast eine seltsame Umschreibung einer Webseite. Sag doch direkt das ein Webinterface im normalen Webbrowser keine Option für dich ist.
 
Ziemlich irrelevant was du wählst mit den gegebenen Infos. Nimm das was die KI sagt oder was dir spontan zusagt. Es geht so ziemlich alles was halbwegs üblich ist, es ist komplett irrelevant. Natürlich ist Python nicht zu langsam, keine Ahnung was "High Risk" bedeuten soll, aber die Jetbrains Suite inklusive Rider funktioniert ganz normal unter Linux. Genauso VS Code, wobei es da ja sogar eine open source Variante gibt.

Wie gesagt für so eine 08/15 Anwendung/GUI ist die Technologiewahl komplett irrelevant. "Viele" einträge sind nicht das was du denkst bei einer Datenbank und die Probleme werden ganz woanders liegen als du jetzt denkst. In jedem Fall weder bei einer "zu großen" Datenbank noch bei der interpretierten Programmiersprache.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Bob.Sponge und dermoritz
Keine Ahnung wie viele Datenbankeinträge es sind oder werden sollen, vielleicht reicht ja schon Excel…
 
Excel - Da ist ein Spaßvogel unterwegs.

Ich werde mich in qt einarbeiten. Auch wenn ich C++ nicht sonderlich mag. Die GUI ist einfach gut.
 
  • Gefällt mir
Reaktionen: Schwachkopp

Ähnliche Themen

S
Antworten
15
Aufrufe
16.944
K
Antworten
4
Aufrufe
1.517
Antworten
23
Aufrufe
16.991
MC BigMac
M
Zurück
Oben