Tkinter von Python oder WinForms con C#?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Beide eignen sich gut für den Fall, wenn man auf schnellem Weg eine einfache grafische Oberfläche (bspw. für Prototypen, Miniutilities/Gadget-Software, u.ä.) zusammenklatschen möchte. Für Entwickler, die noch wenig Erfahrung (vor allem in der Entwicklung von GUIs) haben, sollte ein Einstieg zudem bei beiden nicht schwerfallen.

Im direkten Vergleich ist tkinter besser aufgestellt, wenn es um die Lauffähigkeit auf verschiedenen OS geht. Neben einem nativen Look & Feel kann man auch Themes einsetzen (Standardthemes, eigene Themes oder Themes aus externen Quellen, z.B. ttkthemes).

Windows Forms wiederum bietet im Gegensatz zu tkinter eine größere Auswahl an vorimplementierten Komponenten und du kannst ebenso auf Themes (oder Eigenkreationen) zurückgreifen. Generell ist Windows Forms, aufgrund der zugrundeliegenden .NET-Architektur besser auf die Entwicklung von klassischen Businessanwendungen ausgelegt.

Solltest du Projektideen haben, bei denen die Entwicklung komplexer Oberflächen gefragt ist, die mit einer Vielzahl an Funktionalitäten, evt. etlichen geschachtelten Dialogen oder verschiedenen benutzerdefinierten Komponenten aufwarten (vgl. z.B. mit MS Word), dann würde ich dir empfehlen, eher mit Avalonia UI, MAUI oder WPF zu arbeiten.

Wenn es in Richtung Spieleentwicklung gehen soll (Spiele mit keiner statischen Oberfläche, wie z.B. Schach), wähle wiederum ein Tool, dass sich auf dieses Feld spezialisiert hat (z.B. MonoGame, Panda3D, Unity).

Polarbaer123555 
Fragesteller
 18.04.2024, 20:46

Danke, Wären die erst erwähnten Alternativen also Avalonia UI, MAUI oder WPF mit einer eigenen Programiersprachen oder wie kann ich mir das vorstellen?

0
regex9  18.04.2024, 21:07
@Polarbaer123555

Das sind alles Toolkits für .NET/C#. Ein großer Unterschied zu Windows Forms und tkinter ist, dass die grafische Oberfläche (UI-Logik) selbst stärker von der Anwendungslogik getrennt ist und mit einer eigenen Sprache (XAML) formuliert werden kann. Würdest du beispielsweise einen Taschenrechner bauen, würdest du die Logik für die Berechnungen (Addition, Subtraktion, etc.) in C# schreiben und die Buttons, Eingabefelder, usw. mit XAML beschreiben.

Diese strikte Trennung bietet mehrere Vorteile, wie eine größere Flexibilität (Anwendungsteile können eher wiederverwendet oder einfacher ausgetauscht werden), bessere Testbarkeit und Übersichtlichkeit.

Windows Forms ist aufgrund seiner dahingehend schlechteren Architektur praktisch betrachtet veraltet. Microsoft müht sich schon seit Jahren, es loszuwerden. Für einen Einstieg mag es sich zwar wie schon geschrieben noch gut eignen, doch für die Zukunft wäre es besser, sich mit mindestens einer der erwähnten Alternativen auseinanderzusetzen.

0

Also WinForms ist meistens für Desktop Anwendungen.

GUI kann man damit recht gut machen, es gibt einige dinge die fehlenden wie ein textbox hint als Beispiel.

Wie hier "Thema hinzugefügen"

Bild zum Beitrag

Aber das kannst du selbst machen.

Mit dem anderen kenne ich mich nicht aus.

Woher ich das weiß:Berufserfahrung – Arbeit als Entwickler.
 - (Python, Programmiersprache, C Sharp)
Polarbaer123555 
Fragesteller
 18.04.2024, 19:09

Tkinter ist soweitich weiss auch für Dektopanwendungen

0

Gibt in beidem professionelle Software; benutzt einfach, was dir leichter fällt.

Schön machen lässt sich auch beides, sollte aber nicht dein Hauptziel sein. Wenn es das ist, solltest du dir darüber Gedanken machen, das UI selbst zu rendern.

Polarbaer123555 
Fragesteller
 18.04.2024, 19:06

Wie würde das denn gehen?

0
Polarbaer123555 
Fragesteller
 18.04.2024, 20:14
@JanaL161

rendern. Es soll einfach eine anständige GUI vür eine Desktop anwendunghaben werden. Für das wäre dan Tkinter bzw, Winforms am besten oder?

0
JanaL161  18.04.2024, 20:20
@Polarbaer123555

Für eine normale Nutzeroberfläche sind sowohl Tkinter als auch WinForms sehr gut ^^

1